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:
Michael Niedermayer
2026-02-14 00:26:23 +01:00
committed by michaelni
parent 82fbb04d07
commit bce0e22133
+1 -1
View File
@@ -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);