From 39195e3a25328367918fc1a8b61d769b863da0f8 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 12 Jan 2012 10:15:18 +0000
Subject: [PATCH] libnl-tiny: fix a potential memleak in an error path

SVN-Revision: 29720
---
 package/libnl-tiny/src/unl.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/package/libnl-tiny/src/unl.c b/package/libnl-tiny/src/unl.c
index 4eb7dc07fd..71487e0c10 100644
--- a/package/libnl-tiny/src/unl.c
+++ b/package/libnl-tiny/src/unl.c
@@ -191,11 +191,11 @@ static int unl_genl_multicast_id(struct unl *unl, const char *name)
 	NLA_PUT_STRING(msg, CTRL_ATTR_FAMILY_NAME, unl->family_name);
 	unl_genl_request_single(unl, msg, &msg);
 	if (!msg)
-		goto nla_put_failure;
+		return -1;
 
 	groups = unl_find_attr(unl, msg, CTRL_ATTR_MCAST_GROUPS);
 	if (!groups)
-		goto fail;
+		goto nla_put_failure;
 
 	nla_for_each_nested(group, groups, rem) {
 		const char *gn;
@@ -215,9 +215,8 @@ static int unl_genl_multicast_id(struct unl *unl, const char *name)
 		break;
 	}
 
-fail:
-	nlmsg_free(msg);
 nla_put_failure:
+	nlmsg_free(msg);
 	return ret;
 }
 
-- 
GitLab