diff options
| author | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 | 
|---|---|---|
| committer | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 | 
| commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
| tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /library/cpp/json/fuzzy_test | |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'library/cpp/json/fuzzy_test')
| -rw-r--r-- | library/cpp/json/fuzzy_test/main.cpp | 30 | ||||
| -rw-r--r-- | library/cpp/json/fuzzy_test/ya.make | 13 | 
2 files changed, 43 insertions, 0 deletions
| diff --git a/library/cpp/json/fuzzy_test/main.cpp b/library/cpp/json/fuzzy_test/main.cpp new file mode 100644 index 00000000000..29a53aac142 --- /dev/null +++ b/library/cpp/json/fuzzy_test/main.cpp @@ -0,0 +1,30 @@ +#include <library/cpp/json/json_reader.h> + +#include <util/random/random.h> +#include <util/stream/str.h> + +extern "C" int LLVMFuzzerTestOneInput(const ui8* data, size_t size) { +    const auto json = TString((const char*)data, size); + +    try { +        NJson::TJsonValue value; +        NJson::ReadJsonFastTree(json, &value, true); +    } catch (...) { +        //Cout << json << " -> " << CurrentExceptionMessage() << Endl; +    } + +    try { +        NJson::TJsonCallbacks cb; +        NJson::ReadJsonFast(json, &cb); +    } catch (...) { +        //Cout << json << " -> " << CurrentExceptionMessage() << Endl; +    } + +    try { +        NJson::ValidateJson(json); +    } catch (...) { +        //Cout << json << " -> " << CurrentExceptionMessage() << Endl; +    } + +    return 0; +} diff --git a/library/cpp/json/fuzzy_test/ya.make b/library/cpp/json/fuzzy_test/ya.make new file mode 100644 index 00000000000..ff50bc1f622 --- /dev/null +++ b/library/cpp/json/fuzzy_test/ya.make @@ -0,0 +1,13 @@ +FUZZ() + +OWNER(pg) + +PEERDIR( +    library/cpp/json +) + +SRCS( +    main.cpp +) + +END() | 
