libnl-tiny: fix a potential memleak in an error path
SVN-Revision: 29720
This commit is contained in:
parent
e87bb77966
commit
39195e3a25
1 changed files with 3 additions and 4 deletions
|
@ -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 a new issue