[FFmpeg-devel] [PATCH] fftools/ffmpeg_demux: fix memory leak on error path

LuMingYin lumingyindetect at 163.com
Fri Apr 12 15:35:58 EEST 2024


In the file ffmpeg_demux.c located at /FFmpeg/fftools/, a pointer variable named ic is defined at line 1531. At line 1589, the program allocates a dynamic memory area for it using the function avformat_alloc_context. When the if statement at line 1668 evaluates to true, the function returns at line 1673. Throughout this process, the dynamic memory area pointed to by the ic pointer is not deallocated, resulting in a memory leak.

Signed-off-by: LuMingYin <lumingyindetect at 163.com>
---
 fftools/ffmpeg_demux.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index cba63dab5f..2cfcc3c69d 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -1670,6 +1670,7 @@ int ifile_open(const OptionsContext *o, const char *filename, Scheduler *sch)
                "Error opening input: %s\n", av_err2str(err));
         if (err == AVERROR_PROTOCOL_NOT_FOUND)
             av_log(d, AV_LOG_ERROR, "Did you mean file:%s?\n", filename);
+        avformat_free_context(ic);
         return err;
     }
     f->ctx = ic;
-- 
2.25.1



More information about the ffmpeg-devel mailing list