From 6d1d77ed8942b5a7fadb138ef2b3c902ad5de5aa Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Fri, 19 Apr 2024 11:58:52 +0200 Subject: [PATCH] Only fuzz 64 bit ldbls for now since ryu seems to have it's own issues --- fuzzing/fuzz_to_chars_float.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fuzzing/fuzz_to_chars_float.cpp b/fuzzing/fuzz_to_chars_float.cpp index 07b9305f..388860dc 100644 --- a/fuzzing/fuzz_to_chars_float.cpp +++ b/fuzzing/fuzz_to_chars_float.cpp @@ -30,16 +30,20 @@ extern "C" int LLVMFuzzerTestOneInput(const std::uint8_t* data, std::size_t size boost::charconv::from_chars(c_data, c_data + size, val, format); boost::charconv::to_chars(buffer, buffer + sizeof(buffer), val, format); + #if BOOST_CHARCONV_LDBL_BITS == 64 long double ld_val {}; boost::charconv::from_chars(c_data, c_data + size, ld_val, format); boost::charconv::to_chars(buffer, buffer + sizeof(buffer), ld_val, format); + #endif // Also try with precisions for (int precision = -1; precision < 10; ++precision) { boost::charconv::to_chars(buffer, buffer + sizeof(buffer), f_val, format, precision); boost::charconv::to_chars(buffer, buffer + sizeof(buffer), val, format, precision); + #if BOOST_CHARCONV_LDBL_BITS == 64 boost::charconv::to_chars(buffer, buffer + sizeof(buffer), ld_val, format, precision); + #endif } } }