forked from bblanchon/ArduinoJson
Fuzzing: Run serializer too
This commit is contained in:
@ -6,4 +6,4 @@ export CXX='clang++'
|
|||||||
export CXXFLAGS='-fsanitize-coverage=trace-pc-guard -fsanitize=address'
|
export CXXFLAGS='-fsanitize-coverage=trace-pc-guard -fsanitize=address'
|
||||||
export LIB_FUZZING_ENGINE=-lFuzzer
|
export LIB_FUZZING_ENGINE=-lFuzzer
|
||||||
make OUT=.
|
make OUT=.
|
||||||
./json_fuzzer my_corpus seed_corpus
|
./json_fuzzer my_corpus seed_corpus -max_len=1024 -timeout=10
|
||||||
|
@ -18,6 +18,9 @@ class memstream : public std::istream {
|
|||||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||||
DynamicJsonBuffer jsonBuffer;
|
DynamicJsonBuffer jsonBuffer;
|
||||||
memstream json(data, size);
|
memstream json(data, size);
|
||||||
jsonBuffer.parse(json);
|
JsonVariant variant = jsonBuffer.parse(json);
|
||||||
|
if (variant.success()) {
|
||||||
|
variant.as<std::string>(); // <- serialize to JSON
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user