[FFmpeg-cvslog] avcodec/pngdec: Cleanup generically on init failure
Andreas Rheinhardt
git at videolan.org
Fri Feb 11 08:21:07 EET 2022
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Feb 8 11:03:52 2022 +0100| [10e520f1f147a4284c3d8d61109da12901281590] | committer: Andreas Rheinhardt
avcodec/pngdec: Cleanup generically on init failure
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=10e520f1f147a4284c3d8d61109da12901281590
---
libavcodec/pngdec.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 7571def907..39bb652f67 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -1698,11 +1698,8 @@ static av_cold int png_dec_init(AVCodecContext *avctx)
s->avctx = avctx;
s->last_picture.f = av_frame_alloc();
s->picture.f = av_frame_alloc();
- if (!s->last_picture.f || !s->picture.f) {
- av_frame_free(&s->last_picture.f);
- av_frame_free(&s->picture.f);
+ if (!s->last_picture.f || !s->picture.f)
return AVERROR(ENOMEM);
- }
ff_pngdsp_init(&s->dsp);
@@ -1743,7 +1740,7 @@ const AVCodec ff_apng_decoder = {
.decode = decode_frame_apng,
.update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
- .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
+ .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
FF_CODEC_CAP_ALLOCATE_PROGRESS,
};
#endif
@@ -1761,6 +1758,6 @@ const AVCodec ff_png_decoder = {
.update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
.caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_THREADSAFE |
- FF_CODEC_CAP_ALLOCATE_PROGRESS,
+ FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
};
#endif
More information about the ffmpeg-cvslog
mailing list