Re: [PATCH] media: platform: allegro-dvt: Fix possible memory leak in allocate_buffers_internal()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 09 Oct 2024 16:28:02 +0800, Gaosheng Cui wrote:
> The buffer in the loop should be released under the exception path,
> otherwise there may be a memory leak here.
> 
> To mitigate this, free the buffer when allegro_alloc_buffer fails.
> 
> Fixes: f20387dfd065 ("media: allegro: add Allegro DVT video IP core driver")
> Signed-off-by: Gaosheng Cui <cuigaosheng1@xxxxxxxxxx>

Reviewed-by: Michael Tretter <m.tretter@xxxxxxxxxxxxxx>

> ---
>  drivers/media/platform/allegro-dvt/allegro-core.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/allegro-dvt/allegro-core.c b/drivers/media/platform/allegro-dvt/allegro-core.c
> index 73606cee586e..88c36eb6174a 100644
> --- a/drivers/media/platform/allegro-dvt/allegro-core.c
> +++ b/drivers/media/platform/allegro-dvt/allegro-core.c
> @@ -1509,8 +1509,10 @@ static int allocate_buffers_internal(struct allegro_channel *channel,
>  		INIT_LIST_HEAD(&buffer->head);
>  
>  		err = allegro_alloc_buffer(dev, buffer, size);
> -		if (err)
> +		if (err) {
> +			kfree(buffer);
>  			goto err;
> +		}
>  		list_add(&buffer->head, list);
>  	}
>  
> -- 
> 2.25.1
> 
> 




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux