Fixed a potential memory leak inside skb_ether_to_p80211()
        When the wep_encrypt() fails  the code return 2 directly
        Which causes the p80211_wep->data dangling

Add a kfree statement to reclaim that memory allocated

Signed-off-by: Lynn Lei <lynnl....@gmail.com>
---
 drivers/staging/wlan-ng/p80211conv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/wlan-ng/p80211conv.c 
b/drivers/staging/wlan-ng/p80211conv.c
index fc8ad33ade9f..c1b6d426bcad 100644
--- a/drivers/staging/wlan-ng/p80211conv.c
+++ b/drivers/staging/wlan-ng/p80211conv.c
@@ -213,6 +213,7 @@ int skb_ether_to_p80211(struct wlandevice *wlandev, u32 
ethconv,
                        netdev_warn(wlandev->netdev,
                                    "Host en-WEP failed, dropping frame 
(%d).\n",
                                    foo);
+                       kfree(p80211_wep->data);
                        return 2;
                }
                fc |= cpu_to_le16(WLAN_SET_FC_ISWEP(1));
-- 
2.13.3

Reply via email to