Browse Source

rv34: Fix a memory leak on errors

Signed-off-by: Martin Storsjö <martin@martin.st>
tags/n2.1
Martin Storsjö 11 years ago
parent
commit
fdbd924b84
1 changed files with 6 additions and 2 deletions
  1. +6
    -2
      libavcodec/rv34.c

+ 6
- 2
libavcodec/rv34.c View File

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


Loading…
Cancel
Save