[FFmpeg-cvslog] ffmpeg_filter: fix leak on error

Michael Niedermayer git at videolan.org
Sun Apr 21 12:05:47 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Apr 21 11:59:34 2013 +0200| [14369f59c5ad1fb817fb4d94073f31cccf12b556] | committer: Michael Niedermayer

ffmpeg_filter: fix leak on error

Fixes: CID1005311
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=14369f59c5ad1fb817fb4d94073f31cccf12b556
---

 ffmpeg_filter.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c
index 1b696b7..e7e7242 100644
--- a/ffmpeg_filter.c
+++ b/ffmpeg_filter.c
@@ -318,17 +318,18 @@ 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,
+        ret = avfilter_graph_create_filter(&filter,
                                                 avfilter_get_by_name("format"),
                                                 "format", pix_fmts, NULL,
-                                                fg->graph)) < 0)
+                                                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 && 0) {



More information about the ffmpeg-cvslog mailing list