diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-08-29 10:39:40 +0300 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-08-30 04:07:33 +0300 |
commit | 9372eb00c8a1d4f2f1a356609bdcec207063baf5 (patch) | |
tree | df0998cff2140cd34ac521e791b6fb967c4937ed | |
parent | c767af97f83d4277ec075ba9e39e5ea65db30074 (diff) |
avcodec/truemotion1: Cleanup generically after init failure
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavcodec/truemotion1.c | 5 |
1 files changed, 2 insertions, 3 deletions
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, }; |