[FFmpeg-devel] [PATCH 3/5] avcodec/rv60dec: Check sum in read_slice_sizes()

Michael Niedermayer michael at niedermayer.cc
Sun Jun 22 00:15:19 EEST 2025


Fixes: signed integer overflow: 2147483647 + 1913651185 cannot be represented in type 'int'
Fixes: 418335931/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RV60_fuzzer-6568264620900352

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavcodec/rv60dec.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/rv60dec.c b/libavcodec/rv60dec.c
index 2bbcb1d6209..dbafa7eed02 100644
--- a/libavcodec/rv60dec.c
+++ b/libavcodec/rv60dec.c
@@ -409,6 +409,8 @@ static int read_slice_sizes(RV60Context *s, GetBitContext *gb)
         if (last_size <= 0)
             return AVERROR_INVALIDDATA;
         s->slice[i].size = last_size;
+        if (s->slice[i].size > INT32_MAX - sum)
+            return AVERROR_INVALIDDATA;
         sum += s->slice[i].size;
     }
 
-- 
2.49.0



More information about the ffmpeg-devel mailing list