1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 19:25:21 +02:00

libnl-tiny: fix a potential memleak in an error path

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29720 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2012-01-12 10:15:18 +00:00
parent 63c3f72940
commit 2fa8e25d0d

View File

@ -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); NLA_PUT_STRING(msg, CTRL_ATTR_FAMILY_NAME, unl->family_name);
unl_genl_request_single(unl, msg, &msg); unl_genl_request_single(unl, msg, &msg);
if (!msg) if (!msg)
goto nla_put_failure; return -1;
groups = unl_find_attr(unl, msg, CTRL_ATTR_MCAST_GROUPS); groups = unl_find_attr(unl, msg, CTRL_ATTR_MCAST_GROUPS);
if (!groups) if (!groups)
goto fail; goto nla_put_failure;
nla_for_each_nested(group, groups, rem) { nla_for_each_nested(group, groups, rem) {
const char *gn; const char *gn;
@ -215,9 +215,8 @@ static int unl_genl_multicast_id(struct unl *unl, const char *name)
break; break;
} }
fail:
nlmsg_free(msg);
nla_put_failure: nla_put_failure:
nlmsg_free(msg);
return ret; return ret;
} }