avcodec/eacmv: Cleanup generically after init failure

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-08-29 08:26:03 +02:00
parent fea984d5c7
commit 3c7ca68eeb

View File

@ -50,11 +50,8 @@ static av_cold int cmv_decode_init(AVCodecContext *avctx){
s->last_frame = av_frame_alloc();
s->last2_frame = av_frame_alloc();
if (!s->last_frame || !s->last2_frame) {
av_frame_free(&s->last_frame);
av_frame_free(&s->last2_frame);
if (!s->last_frame || !s->last2_frame)
return AVERROR(ENOMEM);
}
return 0;
}
@ -243,4 +240,5 @@ AVCodec ff_eacmv_decoder = {
.close = cmv_decode_end,
.decode = cmv_decode_frame,
.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};