diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-09-24 13:07:39 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-09-24 21:07:19 +0200 |
commit | 8b21b44e7e312589a6c4dbad1b4214f2a03fb54a (patch) | |
tree | c7532bd01081ea109bdb2066f9a7205d35a5962a | |
parent | 748a4747da5a9fce15efb95b2d650d647cb98c1d (diff) | |
download | ffmpeg-8b21b44e7e312589a6c4dbad1b4214f2a03fb54a.tar.gz |
lavf/utils: Avoid an overflow for huge negative durations.
Fixes ticket #5135.
(cherry picked from commit 267da70ea8c36caaa645a3c4f1c5f0ca8bae156a)
-rw-r--r-- | libavformat/utils.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index d2a709c9a4..f470c79079 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2500,7 +2500,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); } |