[FFmpeg-cvslog] fftools/ffmpeg_filter: do not leak graph_desc on fg_create() failure

Anton Khirnov git at videolan.org
Thu Oct 10 10:15:55 EEST 2024


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Mon Oct  7 12:31:46 2024 +0200| [84c2ca6fa07e5507092ffaffb47f4a0d88a7b88c] | committer: Anton Khirnov

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.

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

 fftools/ffmpeg_filter.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index faab003e71..4d444c161f 100644
--- a/fftools/ffmpeg_filter.c
+++ b/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;
         }



More information about the ffmpeg-cvslog mailing list