avformat/lrcdec: Check ss for finiteness
Fixes: negation of -9223372036854775808 cannot be represented in type 'int64_t' (aka 'long'); cast to an unsigned type to negate this value to itself Fixes: 471604230/clusterfuzz-testcase-minimized-ffmpeg_dem_LRC_fuzzer-5474264750030848 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:
committed by
michaelni
parent
82fbb04d07
commit
bce0e22133
@@ -89,7 +89,7 @@ static int64_t read_ts(const char *p, int64_t *start)
|
||||
return 0;
|
||||
}
|
||||
int ret = av_sscanf(p, "%2[[-]%"SCNu32":%lf]", prefix, &mm, &ss);
|
||||
if (ret != 3 || prefix[0] != '[' || ss < 0 || ss > 60) {
|
||||
if (ret != 3 || prefix[0] != '[' || ss < 0 || ss > 60 || !isfinite(ss)) {
|
||||
return 0;
|
||||
}
|
||||
*start = llrint((mm * 60 + ss) * AV_TIME_BASE);
|
||||
|
||||
Reference in New Issue
Block a user