Re: [PATCH] mwifiex: fix memory leak on regd when chan is zero

From: Colin Ian King
Date: Thu Sep 15 2016 - 13:28:17 EST


On 15/09/16 18:10, Kalle Valo wrote:
> Colin King <colin.king@xxxxxxxxxxxxx> writes:
>
>> 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;
>> + }
>
> Bob sent a similar fix and he also did more:
>
> mwifiex: fix error handling in mwifiex_create_custom_regdomain
>
> https://patchwork.kernel.org/patch/9331337/
>
Ah, sorry for the duplication noise.

Colin