From: Colin Ian King <colin.k...@canonical.com>

When chan is zero mwifiex_create_custom_regdomain does not kfree
regd and we have a memory leak. Fix this by freeing regd before
the return.

Signed-off-by: Colin Ian King <colin.k...@canonical.com>
---
 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c 
b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
index 3344a26..15a91f3 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
@@ -1049,8 +1049,10 @@ mwifiex_create_custom_regdomain(struct mwifiex_private 
*priv,
                enum nl80211_band band;
 
                chan = *buf++;
-               if (!chan)
+               if (!chan) {
+                       kfree(regd);
                        return NULL;
+               }
                chflags = *buf++;
                band = (chan <= 14) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
                freq = ieee80211_channel_to_frequency(chan, band);
-- 
2.9.3

Reply via email to