From a91394f4de63ae5c2e21c548045b79393ca7fea1 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Sun, 29 Dec 2013 10:49:01 +0100 Subject: [PATCH] lavc/diracdec: check av_frame_alloc() failure. --- libavcodec/diracdec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 5eca4f6fad..d437e14ce5 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -406,8 +406,14 @@ static av_cold int dirac_decode_init(AVCodecContext *avctx) ff_dsputil_init(&s->dsp, avctx); ff_diracdsp_init(&s->diracdsp); - for (i = 0; i < MAX_FRAMES; i++) + for (i = 0; i < MAX_FRAMES; i++) { s->all_frames[i].avframe = av_frame_alloc(); + if (!s->all_frames[i].avframe) { + while (i > 0) + av_frame_free(&s->all_frames[--i].avframe); + return AVERROR(ENOMEM); + } + } return 0; }