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
master
Felix Fietkau 2012-01-12 10:15:18 +00:00
parent 15d2a21702
commit be4852ef3f
1 changed files with 3 additions and 4 deletions

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