瀏覽代碼

fftools/ffmpeg_filter: do not leak graph_desc on fg_create() failure

fg_create() is passed a malloced string and assumed to always take
ownership of it.
Anton Khirnov 1 年之前
父節點
當前提交
84c2ca6fa0
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      fftools/ffmpeg_filter.c

+ 4 - 1
fftools/ffmpeg_filter.c

@@ -1058,8 +1058,10 @@ int fg_create(FilterGraph **pfg, char *graph_desc, Scheduler *sch)
     int ret = 0;
 
     fgp = av_mallocz(sizeof(*fgp));
-    if (!fgp)
+    if (!fgp) {
+        av_freep(&graph_desc);
         return AVERROR(ENOMEM);
+    }
     fg = &fgp->fg;
 
     if (pfg) {
@@ -1068,6 +1070,7 @@ int fg_create(FilterGraph **pfg, char *graph_desc, Scheduler *sch)
     } else {
         ret = av_dynarray_add_nofree(&filtergraphs, &nb_filtergraphs, fgp);
         if (ret < 0) {
+            av_freep(&graph_desc);
             av_freep(&fgp);
             return ret;
         }