From 9372eb00c8a1d4f2f1a356609bdcec207063baf5 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 29 Aug 2020 09:39:40 +0200 Subject: avcodec/truemotion1: Cleanup generically after init failure Reviewed-by: Paul B Mahol Signed-off-by: Andreas Rheinhardt --- libavcodec/truemotion1.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'libavcodec/truemotion1.c') diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c index b6481cbd7c..94782fef4b 100644 --- a/libavcodec/truemotion1.c +++ b/libavcodec/truemotion1.c @@ -491,10 +491,8 @@ static av_cold int truemotion1_decode_init(AVCodecContext *avctx) /* there is a vertical predictor for each pixel in a line; each vertical * predictor is 0 to start with */ av_fast_malloc(&s->vert_pred, &s->vert_pred_size, s->avctx->width * sizeof(unsigned int)); - if (!s->vert_pred) { - av_frame_free(&s->frame); + if (!s->vert_pred) return AVERROR(ENOMEM); - } return 0; } @@ -922,4 +920,5 @@ AVCodec ff_truemotion1_decoder = { .close = truemotion1_decode_end, .decode = truemotion1_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; -- cgit v1.2.3