avformat/utils: avoid overflow in update_stream_timings() with huge durations
Fixes: usan_granule_overflow Found-by: Thomas Guilbert <tguilbert@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 2be3007ed55f1513bcae3d2a076e71878f48eb03) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
69c3dfdd54
commit
cc1e01d8b6
@ -2370,7 +2370,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) {
|
||||
if (end_time1 != AV_NOPTS_VALUE && start_time1 <= INT64_MAX - end_time1) {
|
||||
end_time1 += start_time1;
|
||||
end_time = FFMAX(end_time, end_time1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user