Message ID | 20200928173642.701462-2-andreas.rheinhardt@gmail.com |
---|---|
State | Accepted |
Commit | e3b5316bede3cf735f66a0a1b83ca833693ffce7 |
Headers | show |
Series | [FFmpeg-devel,1/3] avformat/movenc: Free old vos_data before overwriting it | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index c53be74a64..c12dd1e672 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6279,9 +6279,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)
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> --- libavformat/movenc.c | 2 ++ 1 file changed, 2 insertions(+)