/* __ _____ _____ _____ __| | __| | | | JSON for Modern C++ (fuzz test support) | | |__ | | | | | | version 3.0.1 |_____|_____|_____|_|___| https://github.com/nlohmann/json This file implements a driver for American Fuzzy Lop (afl-fuzz). It relies on an implementation of the `LLVMFuzzerTestOneInput` function which processes a passed byte array. Licensed under the MIT License . */ #include // for vector #include // for uint8_t #include // for cin extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); int main() { #ifdef __AFL_HAVE_MANUAL_CONTROL while (__AFL_LOOP(1000)) { #endif // copy stdin to byte vector std::vector vec; char c; while (std::cin.get(c)) { vec.push_back(static_cast(c)); } LLVMFuzzerTestOneInput(vec.data(), vec.size()); #ifdef __AFL_HAVE_MANUAL_CONTROL } #endif }