diff options
author | Sudip Mukherjee <sudip@vectorindia.org> | 2016-02-02 13:21:14 +0530 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2016-05-01 00:05:15 +0200 |
commit | 214bc320f8846c3b065d19ae8a66dc0c522c69f8 (patch) | |
tree | 18f1936cd40e440323888e771d9163bba2cb07e2 /net | |
parent | eefa363eb2e49f371f6fc2cd4f4def4de5943fc1 (diff) |
mac80211: fix memory leak
commit ea32f065bd3e3e09f0bcb3042f1664caf6b3e233 upstream.
On error we jumped to the error label and returned the error code but we
missed releasing sinfo.
Fixes: 5fe74014172d ("mac80211: avoid excessive stack usage in sta_info")
Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[bwh: Backported to 3.2: there's no out_err label but there is another
error case that would leak sinfo]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/sta_info.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 6dcb080246a0..feb7e67413c2 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -362,8 +362,10 @@ static int sta_info_finish_insert(struct sta_info *sta, u.ap); err = drv_sta_add(local, sdata, &sta->sta); if (err) { - if (!async) + if (!async) { + kfree(sinfo); return err; + } printk(KERN_DEBUG "%s: failed to add IBSS STA %pM to " "driver (%d) - keeping it anyway.\n", sdata->name, sta->sta.addr, err); |