From: Colin Ian King <colin.king@xxxxxxxxxxxxx> 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.king@xxxxxxxxxxxxx> --- 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