[FFmpeg-devel] [PATCH] avcodec/tta: Cleanup generically on init failure

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Feb 11 11:25:34 EET 2022


Andreas Rheinhardt:
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavcodec/tta.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/tta.c b/libavcodec/tta.c
> index 17b4ca9032..accac38893 100644
> --- a/libavcodec/tta.c
> +++ b/libavcodec/tta.c
> @@ -114,10 +114,8 @@ static int allocate_buffers(AVCodecContext *avctx)
>      } else
>          s->decode_buffer = NULL;
>      s->ch_ctx = av_malloc_array(avctx->channels, sizeof(*s->ch_ctx));
> -    if (!s->ch_ctx) {
> -        av_freep(&s->decode_buffer);
> +    if (!s->ch_ctx)
>          return AVERROR(ENOMEM);
> -    }
>  
>      return 0;
>  }
> @@ -427,5 +425,5 @@ const AVCodec ff_tta_decoder = {
>      .decode         = tta_decode_frame,
>      .capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
>      .priv_class     = &tta_decoder_class,
> -    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
> +    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
>  };

Will apply this later tonight unless there are objections.

- Andreas


More information about the ffmpeg-devel mailing list