avfilter/af_sidechaincompress: Free out frame on error
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 3 Feb 2016 16:09:24 +0000 (17:09 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 3 Feb 2016 16:09:24 +0000 (17:09 +0100)
Fix memleak
Fixes CID1197065 part 2

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavfilter/af_sidechaincompress.c

index a151a02..3f540e2 100644 (file)
@@ -188,7 +188,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *frame)
     AVFilterContext *ctx = link->dst;
     SidechainCompressContext *s = ctx->priv;
     AVFilterLink *outlink = ctx->outputs[0];
-    AVFrame *out, *in[2] = { NULL };
+    AVFrame *out = NULL, *in[2] = { NULL };
     double *dst;
     int nb_samples;
     int i;
@@ -213,6 +213,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *frame)
         if (!in[i]) {
             av_frame_free(&in[0]);
             av_frame_free(&in[1]);
+            av_frame_free(&out);
             return AVERROR(ENOMEM);
         }
         av_audio_fifo_read(s->fifo[i], (void **)in[i]->data, nb_samples);