[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <38d987a0-7cc4-1565-00d4-22fdd04d7894@gmail.com>
Date: Wed, 30 Jan 2019 15:07:52 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Ramin Farajpour Cami <ramin.blackhat@...il.com>,
davem@...emloft.net
Cc: herbert@...dor.apana.org.au, steffen.klassert@...unet.com,
netdev@...r.kernel.org
Subject: Re: [PATCH] net: esp4: Fix double free on esp4 functions
On 01/30/2019 01:35 PM, Ramin Farajpour Cami wrote:
> key/tmp is being kfree'd twice,once in the "aalg_desc->uinfo.auth.icv_fullbits / 8 != crypto_aead_authsize(aead)" call
> to "free_key",twice When "crypto_aead_setauthsize(aead, x->aalg->alg_trunc_len / 8)" fails call to again "free_key",
>
> Signed-off-by: Ramin Farajpour Cami <ramin.blackhat@...il.com>
> ---
> net/ipv4/esp4.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
> index 5459f41fc26f..5a66e47641b0 100644
> --- a/net/ipv4/esp4.c
> +++ b/net/ipv4/esp4.c
> @@ -467,6 +467,7 @@ int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *
>
> error_free:
> kfree(tmp);
> + tmp = NULL;
Clearing tmp right before a "return err;" has no effect at all.
> error:
> return err;
> }
> @@ -959,7 +960,7 @@ static int esp_init_authenc(struct xfrm_state *x)
>
> free_key:
> kfree(key);
> -
> + key = NULL;
Same here, this is essentially dead code.
> error:
> return err;
> }
>
Powered by blists - more mailing lists