Commit 267da70e authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos

lavf/utils: Avoid an overflow for huge negative durations.

Fixes ticket #5135.
parent dc48248e
...@@ -2547,7 +2547,7 @@ static void update_stream_timings(AVFormatContext *ic) ...@@ -2547,7 +2547,7 @@ static void update_stream_timings(AVFormatContext *ic)
end_time1 = av_rescale_q_rnd(st->duration, st->time_base, end_time1 = av_rescale_q_rnd(st->duration, st->time_base,
AV_TIME_BASE_Q, AV_TIME_BASE_Q,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); 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_time1 += start_time1;
end_time = FFMAX(end_time, end_time1); end_time = FFMAX(end_time, end_time1);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment