avcodec/pngdec: fix mem leak in init()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Benoit Fouet 2014-12-03 14:16:56 +01:00 committed by Michael Niedermayer
parent 08aec6f68e
commit 6e9b060e4f
1 changed files with 5 additions and 1 deletions

View File

@ -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;