From fa367422efa3c00f27dab2b58f2080303ed18b91 Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Mon, 17 Jul 2023 09:51:22 +0200 Subject: [PATCH] fuzz: Bump FuzzedDataProvider.h From https://github.com/llvm/llvm-project/blob/fa8401f9bfe81f4853bf9b67bff42a2cebffc10f/compiler-rt/include/fuzzer/FuzzedDataProvider.h --- src/test/fuzz/FuzzedDataProvider.h | 6 +++--- test/sanitizer_suppressions/ubsan | 2 -- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/test/fuzz/FuzzedDataProvider.h b/src/test/fuzz/FuzzedDataProvider.h index 6cbfc39bc2..8a8214bd99 100644 --- a/src/test/fuzz/FuzzedDataProvider.h +++ b/src/test/fuzz/FuzzedDataProvider.h @@ -209,7 +209,7 @@ T FuzzedDataProvider::ConsumeIntegralInRange(T min, T max) { abort(); // Use the biggest type possible to hold the range and the result. - uint64_t range = static_cast(max) - min; + uint64_t range = static_cast(max) - static_cast(min); uint64_t result = 0; size_t offset = 0; @@ -230,7 +230,7 @@ T FuzzedDataProvider::ConsumeIntegralInRange(T min, T max) { if (range != std::numeric_limits::max()) result = result % (range + 1); - return static_cast(min + result); + return static_cast(static_cast(min) + result); } // Returns a floating point value in the range [Type's lowest, Type's max] by @@ -390,7 +390,7 @@ TS FuzzedDataProvider::ConvertUnsignedToSigned(TU value) { return static_cast(value); } else { constexpr auto TS_min = std::numeric_limits::min(); - return TS_min + static_cast(value - TS_min); + return TS_min + static_cast(value - TS_min); } } diff --git a/test/sanitizer_suppressions/ubsan b/test/sanitizer_suppressions/ubsan index 74703b04ec..1ec97f7563 100644 --- a/test/sanitizer_suppressions/ubsan +++ b/test/sanitizer_suppressions/ubsan @@ -20,8 +20,6 @@ implicit-integer-sign-change:*/include/boost/ implicit-integer-sign-change:*/include/c++/ implicit-integer-sign-change:*/new_allocator.h implicit-integer-sign-change:crc32c/ -# implicit-integer-sign-change in FuzzedDataProvider's ConsumeIntegralInRange -implicit-integer-sign-change:FuzzedDataProvider.h implicit-integer-sign-change:minisketch/ implicit-signed-integer-truncation:*/include/c++/ implicit-signed-integer-truncation:leveldb/