]> git.sesse.net Git - ffmpeg/commitdiff
lavfi/avf_showspectrum: Fix the memory leak in error handle path
authorJun Zhao <barryjzhao@tencent.com>
Tue, 3 Dec 2019 10:16:24 +0000 (18:16 +0800)
committerJun Zhao <barryjzhao@tencent.com>
Sat, 7 Dec 2019 06:08:08 +0000 (14:08 +0800)
Fix the memory leak in error handle path.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
libavfilter/avf_showspectrum.c

index d5785af252cab0f4b1e9768bb80372b600c308db..3a3ef7eb31865d940f45eb4e100819801d7d23b0 100644 (file)
@@ -700,16 +700,15 @@ static int draw_legend(AVFilterContext *ctx, int samples)
 
     drawtext(s->outpicref, 2, outlink->h - 10, "CREATED BY LIBAVFILTER", 0);
     drawtext(s->outpicref, outlink->w - 2 - strlen(text) * 10, outlink->h - 10, text, 0);
+    av_freep(&text);
     if (s->stop) {
-        char *text = av_asprintf("Zoom: %d Hz - %d Hz", s->start, s->stop);
+        text = av_asprintf("Zoom: %d Hz - %d Hz", s->start, s->stop);
         if (!text)
             return AVERROR(ENOMEM);
         drawtext(s->outpicref, outlink->w - 2 - strlen(text) * 10, 3, text, 0);
         av_freep(&text);
     }
 
-    av_freep(&text);
-
     dst = s->outpicref->data[0] + (s->start_y - 1) * s->outpicref->linesize[0] + s->start_x - 1;
     for (x = 0; x < s->w + 1; x++)
         dst[x] = 200;