diff --git a/projects/zlib/zlib_uncompress3_fuzzer.cc b/projects/zlib/zlib_uncompress3_fuzzer.cc index 4756d05952d7..e0f6da7ca845 100644 --- a/projects/zlib/zlib_uncompress3_fuzzer.cc +++ b/projects/zlib/zlib_uncompress3_fuzzer.cc @@ -30,6 +30,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { uLong multiplier1 = size ? (--size, *data++) : 1; uLongf buffer_length = static_cast(basesz * multiplier0 * multiplier1); + if (buffer_length > sizeof(buffer)) + buffer_length = sizeof(buffer); uLong buf_size = static_cast(size); // Ignore return code. uncompress2(buffer, &buffer_length, data, &buf_size);