diff options
author | Niko Jokinen <ext-niko.k.jokinen@nokia.com> | 2009-07-15 12:00:53 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-21 20:07:42 +0400 |
commit | 6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03 (patch) | |
tree | 9758902b92cbde1890339f4747678b0511ee7ac4 /net/wireless | |
parent | 3da7429ce92abd79b14e2275a28be144ce2c3013 (diff) | |
download | linux-6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03.tar.xz |
nl80211: Memory leak fixed
Potential memory leak via msg pointer in nl80211_get_key() function.
Signed-off-by: Niko Jokinen <ext-niko.k.jokinen@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/nl80211.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 43bdb1372cae..634496b3ed77 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -997,7 +997,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info) if (IS_ERR(hdr)) { err = PTR_ERR(hdr); - goto out; + goto free_msg; } cookie.msg = msg; @@ -1011,7 +1011,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info) &cookie, get_key_callback); if (err) - goto out; + goto free_msg; if (cookie.error) goto nla_put_failure; @@ -1022,6 +1022,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info) nla_put_failure: err = -ENOBUFS; + free_msg: nlmsg_free(msg); out: cfg80211_put_dev(drv); |