diff --git a/libavcodec/pafvideo.c b/libavcodec/pafvideo.c index 22ae26ac10..1e5d891332 100644 --- a/libavcodec/pafvideo.c +++ b/libavcodec/pafvideo.c @@ -104,10 +104,8 @@ static av_cold int paf_video_init(AVCodecContext *avctx) c->video_size = avctx->width * avctx->height; for (i = 0; i < 4; i++) { c->frame[i] = av_mallocz(c->frame_size); - if (!c->frame[i]) { - paf_video_close(avctx); + if (!c->frame[i]) return AVERROR(ENOMEM); - } } return 0; @@ -419,5 +417,5 @@ AVCodec ff_paf_video_decoder = { .close = paf_video_close, .decode = paf_video_decode, .capabilities = AV_CODEC_CAP_DR1, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, };