From fdbd924b84e85ac5c80f01ee059ed5c81d3cc205 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Mon, 16 Sep 2013 16:05:18 +0300 Subject: rv34: Fix a memory leak on errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- libavcodec/rv34.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libavcodec/rv34.c') diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c index af378551a1..7eb97e7083 100644 --- a/libavcodec/rv34.c +++ b/libavcodec/rv34.c @@ -1495,8 +1495,10 @@ av_cold int ff_rv34_decode_init(AVCodecContext *avctx) ff_rv40dsp_init(&r->rdsp); #endif - if ((ret = rv34_decoder_alloc(r)) < 0) + if ((ret = rv34_decoder_alloc(r)) < 0) { + ff_MPV_common_end(&r->s); return ret; + } if(!intra_vlcs[0].cbppattern[0].bits) rv34_init_tables(); @@ -1517,8 +1519,10 @@ int ff_rv34_decode_init_thread_copy(AVCodecContext *avctx) r->tmp_b_block_base = NULL; if ((err = ff_MPV_common_init(&r->s)) < 0) return err; - if ((err = rv34_decoder_alloc(r)) < 0) + if ((err = rv34_decoder_alloc(r)) < 0) { + ff_MPV_common_end(&r->s); return err; + } } return 0; -- cgit v1.2.3