avcodec/ac3enc: Fix memleak
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 17 Oct 2019 09:11:55 +0000 (11:11 +0200)
committerPaul B Mahol <onemda@gmail.com>
Thu, 17 Oct 2019 10:33:50 +0000 (12:33 +0200)
Fixes ticket #8294.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/ac3enc.c

index 76872a8..25318f8 100644 (file)
@@ -2051,7 +2051,8 @@ av_cold int ff_ac3_encode_close(AVCodecContext *avctx)
         av_freep(&block->cpl_coord_mant);
     }
 
-    s->mdct_end(s);
+    if (s->mdct_end)
+        s->mdct_end(s);
 
     return 0;
 }
@@ -2433,7 +2434,7 @@ av_cold int ff_ac3_encode_init(AVCodecContext *avctx)
 
     ret = validate_options(s);
     if (ret)
-        return ret;
+        goto init_fail;
 
     avctx->frame_size = AC3_BLOCK_SIZE * s->num_blocks;
     avctx->initial_padding = AC3_BLOCK_SIZE;