[FFmpeg-devel] [PATCH 2/3] tools/target_swr_fuzzer: do not use negative numbers of samples

Michael Niedermayer michael at niedermayer.cc
Sat Nov 30 04:20:58 EET 2024


Fixes: signed integer overflow: -277109688 * 8 cannot be represented in type 'int'
Fixes: 376118159/clusterfuzz-testcase-minimized-ffmpeg_SWR_fuzzer-5884436320681984

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

diff --git a/tools/target_swr_fuzzer.c b/tools/target_swr_fuzzer.c
index 9192d4bed50..f154a116328 100644
--- a/tools/target_swr_fuzzer.c
+++ b/tools/target_swr_fuzzer.c
@@ -98,7 +98,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
         av_channel_layout_copy(& in_ch_layout,  &layouts[bytestream2_get_byte(&gbc) % FF_ARRAY_ELEMS(layouts)]);
         av_channel_layout_copy(&out_ch_layout,  &layouts[bytestream2_get_byte(&gbc) % FF_ARRAY_ELEMS(layouts)]);
 
-        out_sample_nb = bytestream2_get_le32(&gbc);
+        out_sample_nb = bytestream2_get_le32(&gbc) & 0x7FFFFFFF;
 
         flags64 = bytestream2_get_le64(&gbc);
         if (flags64 & 0x10)
-- 
2.47.0



More information about the ffmpeg-devel mailing list