From 3066b243e96f2dfa3fd405b2b89a8e8574e398dc Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sun, 15 Nov 2020 13:34:57 +0100 Subject: [PATCH] avcodec/mimic: Cleanup generically upon init failure Signed-off-by: Andreas Rheinhardt --- libavcodec/mimic.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c index 0f8103ef857..e91ba4353f8 100644 --- a/libavcodec/mimic.c +++ b/libavcodec/mimic.c @@ -155,10 +155,8 @@ static av_cold int mimic_decode_init(AVCodecContext *avctx) for (i = 0; i < FF_ARRAY_ELEMS(ctx->frames); i++) { ctx->frames[i].f = av_frame_alloc(); - if (!ctx->frames[i].f) { - mimic_decode_end(avctx); + if (!ctx->frames[i].f) return AVERROR(ENOMEM); - } } return 0; @@ -460,5 +458,5 @@ AVCodec ff_mimic_decoder = { .decode = mimic_decode_frame, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS, .update_thread_context = ONLY_IF_THREADS_ENABLED(mimic_decode_update_thread_context), - .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS, + .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP, }; -- 2.39.5