[FFmpeg-devel] [PATCH 05/10] avformat/segment: Fix leak of string on error
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Mon Sep 7 05:49:47 EEST 2020
A string containing the segment's filename that the segment muxer
allocates got only freed in its write_trailer function. This implies
that it leaks if write_trailer is never called, e.g. if initializing
the child muxer fails. This commit fixes this by freeing the string
in the deinit function instead.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
libavformat/segment.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/segment.c b/libavformat/segment.c
index e30e47b62e..b8eb0289c4 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -665,6 +665,7 @@ static void seg_free(AVFormatContext *s)
seg->avf = NULL;
av_freep(&seg->times);
av_freep(&seg->frames);
+ av_freep(&seg->cur_entry.filename);
}
static int seg_init(AVFormatContext *s)
@@ -993,7 +994,6 @@ fail:
ff_format_io_close(s, &seg->list_pb);
av_opt_free(seg);
- av_freep(&seg->cur_entry.filename);
cur = seg->segment_list_entries;
while (cur) {
--
2.20.1
More information about the ffmpeg-devel
mailing list