Skip to content

json-fuzz: prevent large size inputs#40855

Merged
botengyao merged 2 commits into
envoyproxy:mainfrom
adisuissa:fuzz_bug_421951268
Aug 26, 2025
Merged

json-fuzz: prevent large size inputs#40855
botengyao merged 2 commits into
envoyproxy:mainfrom
adisuissa:fuzz_bug_421951268

error->warn

faf0137
Select commit
Loading
Failed to load commit list.
CI (Envoy) / Mobile/Format skipped Aug 26, 2025 in 0s

Check was skipped

This check was not triggered in this CI run

Details

Request (pr/40855/main@faf0137)

adisuissa @adisuissa faf0137 #40855 merge main@d9e0412

json-fuzz: prevent large size inputs

Commit Message: json-fuzz: prevent large size inputs
Additional Description:
The original fuzzer test-case created a large input file with ~1MiB of base64 contents that was truncated in the middle and caused the fuzzer to OOM due to a test-function allocation:

#9 0x5ca72f569401 in testing::internal::edit_distance::CreateUnifiedDiff(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, unsigned long) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:1352:39

This PR limits the input sizes for the json input to 32KiB, as most errors should be detected with this limit.

Risk Level: low - tests only
Testing: N/A
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A
Fixes fuzz issue 421951268.

Environment

Request variables

Key Value
ref cc3eae4
sha faf0137
pr 40855
base-sha d9e0412
actor adisuissa @adisuissa
message json-fuzz: prevent large size inputs...
started 1756223147.060243
target-branch main
trusted false
Build image

Container image/s (as used in this CI run)

Key Value
default envoyproxy/envoy-build-ubuntu:f4a881a1205e8e6db1a57162faf3df7aed88eae8
mobile envoyproxy/envoy-build-ubuntu:mobile-f4a881a1205e8e6db1a57162faf3df7aed88eae8
Version

Envoy version (as used in this CI run)

Key Value
major 1
minor 36
patch 0
dev true