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

SVN-Revision: 29720
This commit is contained in:
Felix Fietkau 2012-01-12 10:15:18 +00:00
parent e87bb77966
commit 39195e3a25

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;
} }