avconv: fix leak in filter error
authorVittorio Giovara <vittorio.giovara@gmail.com>
Tue, 14 Oct 2014 15:46:44 +0000 (16:46 +0100)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Fri, 17 Oct 2014 08:55:46 +0000 (09:55 +0100)
CC: libav-stable@libav.org
Bug-Id: CID 1005311

avconv_filter.c

index 1eda7b8..e54da56 100644 (file)
@@ -268,17 +268,17 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
         AVFilterContext *filter;
         snprintf(name, sizeof(name), "pixel format for output stream %d:%d",
                  ost->file_index, ost->index);
-        if ((ret = avfilter_graph_create_filter(&filter,
-                                                avfilter_get_by_name("format"),
-                                                "format", pix_fmts, NULL,
-                                                fg->graph)) < 0)
+        ret = avfilter_graph_create_filter(&filter,
+                                           avfilter_get_by_name("format"),
+                                           "format", pix_fmts, NULL, fg->graph);
+        av_freep(&pix_fmts);
+        if (ret < 0)
             return ret;
         if ((ret = avfilter_link(last_filter, pad_idx, filter, 0)) < 0)
             return ret;
 
         last_filter = filter;
         pad_idx     = 0;
-        av_freep(&pix_fmts);
     }
 
     if (ost->frame_rate.num) {