PR #20586 opened by Zhao Zhili (quink) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20586 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20586.patch
Memory leaks can happen on normal case when break from while loop early, and it can happen on error path with goto cleanup. The two fate failures mov-mp4-ttml-stpp and mov-mp4-ttml-dfxp are the first case. >From 278fa8c69d07a4519669c851f0a51a0695761983 Mon Sep 17 00:00:00 2001 From: Zhao Zhili <[email protected]> Date: Tue, 23 Sep 2025 22:08:02 +0800 Subject: [PATCH] avformat/movenc_ttml: fix memleaks Memory leaks can happen on normal case when break from while loop early, and it can happen on error path with goto cleanup. The two fate failures mov-mp4-ttml-stpp and mov-mp4-ttml-dfxp are the first case. --- libavformat/movenc_ttml.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/movenc_ttml.c b/libavformat/movenc_ttml.c index c5232e589c..ff09c14fa2 100644 --- a/libavformat/movenc_ttml.c +++ b/libavformat/movenc_ttml.c @@ -140,7 +140,7 @@ static int mov_write_ttml_document_from_queue(AVFormatContext *s, } else if (pkt->pts >= end_ts) { // starts after this fragment, put back to original queue ret = avpriv_packet_list_put(&track->squashed_packet_queue, - pkt, av_packet_ref, + pkt, NULL, FF_PACKETLIST_FLAG_PREPEND); if (ret < 0) goto cleanup; @@ -215,6 +215,7 @@ static int mov_write_ttml_document_from_queue(AVFormatContext *s, ret = 0; cleanup: + av_packet_unref(pkt); while (!avpriv_packet_list_get(&back_to_queue_list, pkt)) { ret = avpriv_packet_list_put(&track->squashed_packet_queue, pkt, av_packet_ref, -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
