| // __ _____ _____ _____ | |
| // __| | __| | | | JSON for Modern C++ (supporting code) | |
| // | | |__ | | | | | | version 3.11.3 | |
| // |_____|_____|_____|_|___| https://github.com/nlohmann/json | |
| // | |
| // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> | |
| // SPDX-License-Identifier: MIT | |
| /* | |
| 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. | |
| */ | |
| extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); | |
| int main() | |
| { | |
| while (__AFL_LOOP(1000)) | |
| { | |
| // copy stdin to byte vector | |
| std::vector<uint8_t> vec; | |
| char c = 0; | |
| while (std::cin.get(c)) | |
| { | |
| vec.push_back(static_cast<uint8_t>(c)); | |
| } | |
| LLVMFuzzerTestOneInput(vec.data(), vec.size()); | |
| } | |
| } | |