diff options
author | Jesper Juhl | 2011-11-06 22:58:31 +0100 |
---|---|---|
committer | John W. Linville | 2011-11-07 19:19:15 +0100 |
commit | db652e4b36e5f1e5f49a4a49caf3aa365fe851c4 (patch) | |
tree | 9cdbb4976db9d060ed5bccae2fd453e1c1177b4e /drivers/net | |
parent | cfg80211: fix cmp_ies (diff) | |
download | kernel-qcow2-linux-db652e4b36e5f1e5f49a4a49caf3aa365fe851c4.tar.gz kernel-qcow2-linux-db652e4b36e5f1e5f49a4a49caf3aa365fe851c4.tar.xz kernel-qcow2-linux-db652e4b36e5f1e5f49a4a49caf3aa365fe851c4.zip |
net, wireless, mwifiex: Fix mem leak in mwifiex_update_curr_bss_params()
If kmemdup() fails we leak the memory allocated to bss_desc.
This patch fixes the leak.
I also removed the pointless default assignment of 'NULL' to 'bss_desc'
while I was there anyway.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/mwifiex/scan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/scan.c b/drivers/net/wireless/mwifiex/scan.c index dae8dbb24a03..8a3f9598ad33 100644 --- a/drivers/net/wireless/mwifiex/scan.c +++ b/drivers/net/wireless/mwifiex/scan.c @@ -1469,7 +1469,7 @@ mwifiex_update_curr_bss_params(struct mwifiex_private *priv, u8 *bssid, s32 rssi, const u8 *ie_buf, size_t ie_len, u16 beacon_period, u16 cap_info_bitmap, u8 band) { - struct mwifiex_bssdescriptor *bss_desc = NULL; + struct mwifiex_bssdescriptor *bss_desc; int ret; unsigned long flags; u8 *beacon_ie; @@ -1484,6 +1484,7 @@ mwifiex_update_curr_bss_params(struct mwifiex_private *priv, u8 *bssid, beacon_ie = kmemdup(ie_buf, ie_len, GFP_KERNEL); if (!beacon_ie) { + kfree(bss_desc); dev_err(priv->adapter->dev, " failed to alloc beacon_ie\n"); return -ENOMEM; } |