Fuzzing: Run serializer too

This commit is contained in:
Benoit Blanchon
2017-02-19 21:41:12 +01:00
parent 797ea356ef
commit 20431debe0
2 changed files with 5 additions and 2 deletions

View File

@ -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

View File

@ -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;
} }