From 73b644cdee8a45d2fd736f556b6414615d11d970 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sat, 24 Sep 2016 13:07:39 +0200 Subject: [PATCH] lavf/utils: Avoid an overflow for huge negative durations. Fixes ticket #5135. (cherry picked from commit 267da70ea8c36caaa645a3c4f1c5f0ca8bae156a) --- libavformat/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index fbc9a68bbe..42b617e2c1 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2373,7 +2373,7 @@ static void update_stream_timings(AVFormatContext *ic) end_time1 = av_rescale_q_rnd(st->duration, st->time_base, AV_TIME_BASE_Q, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); - if (end_time1 != AV_NOPTS_VALUE && start_time1 <= INT64_MAX - end_time1) { + if (end_time1 != AV_NOPTS_VALUE && (end_time1 > 0 ? start_time1 <= INT64_MAX - end_time1 : start_time1 >= INT64_MIN - end_time1)) { end_time1 += start_time1; end_time = FFMAX(end_time, end_time1); }