avformat/sccdec: Use larger intermediate for ts/next_ts computation

Fixes: signed integer overflow: 92237203 * 33 cannot be represented in type 'int'
Fixes: 26910/clusterfuzz-testcase-minimized-ffmpeg_dem_SCC_fuzzer-6603769487949824

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2021-01-17 22:10:02 +01:00
parent 2a0d17c4d1
commit 92b1949191

View File

@ -93,7 +93,7 @@ static int scc_read_header(AVFormatContext *s)
break;
}
ts = (hh * 3600LL + mm * 60LL + ss) * 1000LL + fs * 33;
ts = (hh * 3600LL + mm * 60LL + ss) * 1000LL + fs * 33LL;
while (!ff_text_eof(&tr)) {
len = ff_subtitles_read_line(&tr, line2, sizeof(line2));
@ -117,7 +117,7 @@ static int scc_read_header(AVFormatContext *s)
}
}
next_ts = (hh * 3600LL + mm * 60LL + ss) * 1000LL + fs * 33;
next_ts = (hh * 3600LL + mm * 60LL + ss) * 1000LL + fs * 33LL;
pos = ff_text_pos(&tr);
lline = (char *)&line;