[FFmpeg-devel] [PATCH]lavf/utils: Do not overflow in update_initial_timestamps().

Carl Eugen Hoyos cehoyos at ag.or.at
Sat Sep 24 16:28:36 EEST 2016


Hi!

Attached patch hopefully fixes ticket #5136.

Please review, Carl Eugen
-------------- next part --------------
From 09a31f8f6584f0c97443fd6edc7fcf7142b6a6ff Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos at ag.or.at>
Date: Sat, 24 Sep 2016 15:26:21 +0200
Subject: [PATCH] lavf/utils: Do not overflow in update_initial_timestamps().

Fixes ticket #5136.
---
 libavformat/utils.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 93ea6ff..4362a12 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1069,7 +1069,9 @@ static void update_initial_timestamps(AVFormatContext *s, int stream_index,
     if (st->first_dts != AV_NOPTS_VALUE ||
         dts           == AV_NOPTS_VALUE ||
         st->cur_dts   == AV_NOPTS_VALUE ||
-        is_relative(dts))
+        is_relative(dts) ||
+        INT64_MIN + RELATIVE_TS_BASE > st->cur_dts ||
+        (dts > 0 ? INT64_MAX - dts < st->cur_dts - RELATIVE_TS_BASE : INT64_MIN - dts > st->cur_dts - RELATIVE_TS_BASE))
         return;
 
     st->first_dts = dts - (st->cur_dts - RELATIVE_TS_BASE);
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list