Browse Source

avformat/segment: Fix leak of string on error

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.

Reviewed-by: Ridley Combs <rcombs@rcombs.me>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
(cherry picked from commit 3152a2a218)
release/4.3
Andreas Rheinhardt 5 years ago
parent
commit
021e1aa6b8
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavformat/segment.c

+ 1
- 1
libavformat/segment.c View File

@@ -664,6 +664,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)
@@ -983,7 +984,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) {


Loading…
Cancel
Save