From 6e9b060e4f0c24d2689bebd7fc03e52d75da25b2 Mon Sep 17 00:00:00 2001 From: Benoit Fouet Date: Wed, 3 Dec 2014 14:16:56 +0100 Subject: avcodec/pngdec: fix mem leak in init() Signed-off-by: Michael Niedermayer --- libavcodec/pngdec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index b1e77e5144..3905e0f3bc 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; -- cgit v1.2.3