avcodec/tta: Cleanup generically on init failure

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-02-08 11:57:29 +01:00
parent 7743933a60
commit f200424fbf
1 changed files with 2 additions and 4 deletions

View File

@ -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;
}
@ -426,5 +424,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,
};