Message ID | 20240412123558.1262807-1-lumingyindetect@163.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] fftools/ffmpeg_demux: fix memory leak on error path | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
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;
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@163.com> --- fftools/ffmpeg_demux.c | 1 + 1 file changed, 1 insertion(+)