summaryrefslogtreecommitdiffhomepage
path: root/system-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'system-linux.c')
-rw-r--r--system-linux.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/system-linux.c b/system-linux.c
index f51c078..27c0f1e 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -1532,8 +1532,10 @@ static int system_addr(struct device *dev, struct device_addr *addr, int cmd)
if (addr->valid_until) {
int64_t valid = addr->valid_until - now;
- if (valid <= 0)
+ if (valid <= 0) {
+ nlmsg_free(msg);
return -1;
+ }
else if (valid > UINT32_MAX)
valid = UINT32_MAX;