[FFmpeg-cvslog] avcodec/pngdec: fix mem leak in init()
Benoit Fouet
git at videolan.org
Thu Dec 4 00:43:53 CET 2014
ffmpeg | branch: master | Benoit Fouet <benoit.fouet at free.fr> | Wed Dec 3 14:16:56 2014 +0100| [6e9b060e4f0c24d2689bebd7fc03e52d75da25b2] | committer: Michael Niedermayer
avcodec/pngdec: fix mem leak in init()
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6e9b060e4f0c24d2689bebd7fc03e52d75da25b2
---
libavcodec/pngdec.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index b1e77e5..3905e0f 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -1237,8 +1237,12 @@ static av_cold int png_dec_init(AVCodecContext *avctx)
s->previous_picture.f = av_frame_alloc();
s->last_picture.f = av_frame_alloc();
s->picture.f = av_frame_alloc();
- if (!s->previous_picture.f || !s->last_picture.f || !s->picture.f)
+ if (!s->previous_picture.f || !s->last_picture.f || !s->picture.f) {
+ av_frame_free(&s->previous_picture.f);
+ av_frame_free(&s->last_picture.f);
+ av_frame_free(&s->picture.f);
return AVERROR(ENOMEM);
+ }
if (!avctx->internal->is_copy) {
avctx->internal->allocate_progress = 1;
More information about the ffmpeg-cvslog
mailing list