diff options
| author | Niko Jokinen <ext-niko.k.jokinen@nokia.com> | 2009-07-15 04:00:53 -0400 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2009-07-21 12:07:42 -0400 |
| commit | 6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03 (patch) | |
| tree | 9758902b92cbde1890339f4747678b0511ee7ac4 /net | |
| parent | 3da7429ce92abd79b14e2275a28be144ce2c3013 (diff) | |
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')
| -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) | |||
| 997 | 997 | ||
| 998 | if (IS_ERR(hdr)) { | 998 | if (IS_ERR(hdr)) { |
| 999 | err = PTR_ERR(hdr); | 999 | err = PTR_ERR(hdr); |
| 1000 | goto out; | 1000 | goto free_msg; |
| 1001 | } | 1001 | } |
| 1002 | 1002 | ||
| 1003 | cookie.msg = msg; | 1003 | cookie.msg = msg; |
| @@ -1011,7 +1011,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info) | |||
| 1011 | &cookie, get_key_callback); | 1011 | &cookie, get_key_callback); |
| 1012 | 1012 | ||
| 1013 | if (err) | 1013 | if (err) |
| 1014 | goto out; | 1014 | goto free_msg; |
| 1015 | 1015 | ||
| 1016 | if (cookie.error) | 1016 | if (cookie.error) |
| 1017 | goto nla_put_failure; | 1017 | goto nla_put_failure; |
| @@ -1022,6 +1022,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info) | |||
| 1022 | 1022 | ||
| 1023 | nla_put_failure: | 1023 | nla_put_failure: |
| 1024 | err = -ENOBUFS; | 1024 | err = -ENOBUFS; |
| 1025 | free_msg: | ||
| 1025 | nlmsg_free(msg); | 1026 | nlmsg_free(msg); |
| 1026 | out: | 1027 | out: |
| 1027 | cfg80211_put_dev(drv); | 1028 | cfg80211_put_dev(drv); |
