[FFmpeg-devel] [PATCH] Fix signed integer overflow in mov_write_single_packet Detected with clang and -fsanitize=signed-integer-overflow

Vitaly Buka vitalybuka at google.com
Sat Oct 7 02:20:49 EEST 2017


Signed-off-by: Vitaly Buka <vitalybuka at google.com>
---
 libavformat/movenc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 2838286141..e70500ae2c 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -5354,6 +5354,10 @@ static int mov_write_single_packet(AVFormatContext *s, AVPacket *pkt)
                 // duration, but only helps for this particular track, not
                 // for the other ones that are flushed at the same time.
                 trk->track_duration = pkt->dts - trk->start_dts;
+                if (trk->start_dts != AV_NOPTS_VALUE)
+                    trk->track_duration = pkt->dts - trk->start_dts;
+                else
+                    trk->track_duration = 0;
                 if (pkt->pts != AV_NOPTS_VALUE)
                     trk->end_pts = pkt->pts;
                 else
-- 
2.14.2.920.gcf0c67979c-goog



More information about the ffmpeg-devel mailing list