[PATCH] Staging, rtl8192e, softmac: remove redundant memset and fix mem leak

Larry Finger Larry.Finger at lwfinger.net
Mon Feb 13 21:47:47 UTC 2012


On 02/12/2012 05:15 PM, Jesper Juhl wrote:
> In drivers/staging/rtl8192e/rtllib_softmac.c::rtllib_rx_assoc_resp()
> we allocate memory for 'network' with kzalloc() and then proceed to
> zero the already zeroed mem we got from kzalloc() with
> memset(). That's redundant, so remove the memset()
>
> We also fail to kfree() the memory we allocated for 'network' if we do not enter
>
>    if (ieee->current_network.qos_data.supported == 1) {
>
> and the variable then goes out of scope.
>
> To fix that I simply moved the kfree() that was inside that 'if'
> statement to instead be just after it. It then covers both the case
> where we take the branch and when we don't.
>
> Signed-off-by: Jesper Juhl<jj at chaosbits.net>
> ---
>   drivers/staging/rtl8192e/rtllib_softmac.c |    3 +--
>   1 files changed, 1 insertions(+), 2 deletions(-)
>
>    Compile tested only.

ACKed-by: Larry Finger <Larry.Finger at lwfinger.net>

Thanks,

Larry

>
> diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
> index 1637f11..c5a15db 100644
> --- a/drivers/staging/rtl8192e/rtllib_softmac.c
> +++ b/drivers/staging/rtl8192e/rtllib_softmac.c
> @@ -2234,7 +2234,6 @@ inline int rtllib_rx_assoc_resp(struct rtllib_device *ieee, struct sk_buff *skb,
>
>   			if (!network)
>   				return 1;
> -			memset(network, 0, sizeof(*network));
>   			ieee->state = RTLLIB_LINKED;
>   			ieee->assoc_id = aid;
>   			ieee->softmac_stats.rx_ass_ok++;
> @@ -2259,8 +2258,8 @@ inline int rtllib_rx_assoc_resp(struct rtllib_device *ieee, struct sk_buff *skb,
>   					ieee->handle_assoc_response(ieee->dev,
>   						 (struct rtllib_assoc_response_frame *)header,
>   						 network);
> -				kfree(network);
>   			}
> +			kfree(network);
>
>   			kfree(ieee->assocresp_ies);
>   			ieee->assocresp_ies = NULL;




More information about the devel mailing list