[FFmpeg-devel] [PATCH 2/2] avformat/bethsoftvid: Fix potential memleak upon reallocation failure

Paul B Mahol onemda at gmail.com
Sat Mar 21 11:29:26 EET 2020


LGTM

On 3/21/20, Andreas Rheinhardt <andreas.rheinhardt at gmail.com> wrote:
> The classical ptr = av_realloc(ptr, size), just with av_fast_realloc().
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
>  libavformat/bethsoftvid.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/libavformat/bethsoftvid.c b/libavformat/bethsoftvid.c
> index e52b17433c..c54c54325a 100644
> --- a/libavformat/bethsoftvid.c
> +++ b/libavformat/bethsoftvid.c
> @@ -147,9 +147,13 @@ static int read_frame(BVID_DemuxContext *vid,
> AVIOContext *pb, AVPacket *pkt,
>      }
>
>      do{
> -        vidbuf_start = av_fast_realloc(vidbuf_start, &vidbuf_capacity,
> vidbuf_nbytes + BUFFER_PADDING_SIZE);
> -        if(!vidbuf_start)
> -            return AVERROR(ENOMEM);
> +        uint8_t *tmp = av_fast_realloc(vidbuf_start, &vidbuf_capacity,
> +                                       vidbuf_nbytes +
> BUFFER_PADDING_SIZE);
> +        if (!tmp) {
> +            ret = AVERROR(ENOMEM);
> +            goto fail;
> +        }
> +        vidbuf_start = tmp;
>
>          code = avio_r8(pb);
>          vidbuf_start[vidbuf_nbytes++] = code;
> --
> 2.20.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list