1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-15 14:13:16 +02:00

avformat/utils: Move end_time1 AV_NOPTS_VALUE Check after rescale

Fixes integer overflow
Fixes: 266ee543812e934f7b4a72923a2701d4/signal_sigabrt_7ffff6ae7cc9_7322_85218d61759d461bdf7387180e8000c9.ogg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer
2015-12-02 22:59:56 +01:00
parent d872643cfe
commit ec7a3be11e

View File

@@ -2342,11 +2342,11 @@ static void update_stream_timings(AVFormatContext *ic)
start_time_text = start_time1; start_time_text = start_time1;
} else } else
start_time = FFMIN(start_time, start_time1); start_time = FFMIN(start_time, start_time1);
end_time1 = AV_NOPTS_VALUE; end_time1 = av_rescale_q_rnd(st->duration, st->time_base,
if (st->duration != AV_NOPTS_VALUE) { AV_TIME_BASE_Q,
end_time1 = start_time1 + AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
av_rescale_q(st->duration, st->time_base, if (end_time1 != AV_NOPTS_VALUE) {
AV_TIME_BASE_Q); end_time1 += start_time1;
end_time = FFMAX(end_time, end_time1); end_time = FFMAX(end_time, end_time1);
} }
for (p = NULL; (p = av_find_program_from_stream(ic, p, i)); ) { for (p = NULL; (p = av_find_program_from_stream(ic, p, i)); ) {