[FFmpeg-cvslog] avformat/movenc: Don't forget to free fragment buffers

Andreas Rheinhardt git at videolan.org
Mon Oct 5 02:48:43 EEST 2020


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Mon Sep 28 18:36:06 2020 +0200| [e3b5316bede3cf735f66a0a1b83ca833693ffce7] | committer: Andreas Rheinhardt

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 at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e3b5316bede3cf735f66a0a1b83ca833693ffce7
---

 libavformat/movenc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 6ed93d89ea..5454a9172c 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -6284,9 +6284,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)



More information about the ffmpeg-cvslog mailing list