From bb99e8017b5b99e5ccd2c05c11b516b6e629ab20 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 29 Oct 2015 15:58:30 +0100 Subject: system-linux: fix memory leak in system_addr() Detected by Coverity CID 1330178 Signed-off-by: Felix Fietkau --- system-linux.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3