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:
parent
63c3f72940
commit
2fa8e25d0d
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user