diff --git a/fuzzing/fuzz.sh b/fuzzing/fuzz.sh index 47af7553..e9f28c39 100755 --- a/fuzzing/fuzz.sh +++ b/fuzzing/fuzz.sh @@ -6,4 +6,4 @@ export CXX='clang++' export CXXFLAGS='-fsanitize-coverage=trace-pc-guard -fsanitize=address' export LIB_FUZZING_ENGINE=-lFuzzer make OUT=. -./json_fuzzer my_corpus seed_corpus +./json_fuzzer my_corpus seed_corpus -max_len=1024 -timeout=10 diff --git a/fuzzing/fuzzer.cpp b/fuzzing/fuzzer.cpp index acc8a6a2..24b2f191 100644 --- a/fuzzing/fuzzer.cpp +++ b/fuzzing/fuzzer.cpp @@ -18,6 +18,9 @@ class memstream : public std::istream { extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { DynamicJsonBuffer jsonBuffer; memstream json(data, size); - jsonBuffer.parse(json); + JsonVariant variant = jsonBuffer.parse(json); + if (variant.success()) { + variant.as(); // <- serialize to JSON + } return 0; }