diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-01-12 10:15:18 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-01-12 10:15:18 +0000 |
commit | 39195e3a25328367918fc1a8b61d769b863da0f8 (patch) | |
tree | 80f44b850b26d8a3134c2cdb40dbc5a40da77061 /package/libnl-tiny/src | |
parent | e87bb77966fcc38b07761c3f627e40cd906faffa (diff) | |
download | upstream-39195e3a25328367918fc1a8b61d769b863da0f8.tar.gz upstream-39195e3a25328367918fc1a8b61d769b863da0f8.tar.bz2 upstream-39195e3a25328367918fc1a8b61d769b863da0f8.zip |
libnl-tiny: fix a potential memleak in an error path
SVN-Revision: 29720
Diffstat (limited to 'package/libnl-tiny/src')
-rw-r--r-- | package/libnl-tiny/src/unl.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/package/libnl-tiny/src/unl.c b/package/libnl-tiny/src/unl.c index 4eb7dc07fd..71487e0c10 100644 --- a/package/libnl-tiny/src/unl.c +++ b/package/libnl-tiny/src/unl.c @@ -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; } |