diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-09-28 18:36:06 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-02-27 07:20:58 +0100 |
commit | bcf3ac039bcb98a3ab07e80c7ed3a4d41196ebc0 (patch) | |
tree | 495770ff5fc29a2db5927b4c663ee3eac9a96060 | |
parent | 3fc8dc35896420385e265de676ea01ed1950d8bd (diff) | |
download | ffmpeg-bcf3ac039bcb98a3ab07e80c7ed3a4d41196ebc0.tar.gz |
avformat/movenc: Don't forget to free fragment buffers
The buffers used when fragmented output is enabled have up until now not
been freed in the deinit function; they leak e.g. if one errors out of
mov_write_trailer() before one reaches the point where they are normally
written out and freed. This can e.g. happen if allocating new vos_data
fails at the beginning of mov_write_trailer().
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
(cherry picked from commit e3b5316bede3cf735f66a0a1b83ca833693ffce7)
-rw-r--r-- | libavformat/movenc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index a1c1a44f04..c34d86522a 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6181,9 +6181,11 @@ static void mov_free(AVFormatContext *s) av_freep(&mov->tracks[i].vos_data); ff_mov_cenc_free(&mov->tracks[i].cenc); + ffio_free_dyn_buf(&mov->tracks[i].mdat_buf); } av_freep(&mov->tracks); + ffio_free_dyn_buf(&mov->mdat_buf); } static uint32_t rgb_to_yuv(uint32_t rgb) |