// This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // Parse some flags #include #include static std::vector Flags; extern "C" int LLVMFuzzerInitialize(int *Argc, char ***Argv) { // Parse --flags and anything after -ignore_remaining_args=1 is passed. int I = 1; while (I < *Argc) { std::string S((*Argv)[I++]); if (S == "-ignore_remaining_args=1") break; if (S.substr(0, 2) == "--") Flags.push_back(S); } while (I < *Argc) Flags.push_back(std::string((*Argv)[I++])); return 0; } extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { fprintf(stderr, "BINGO "); for (auto Flag : Flags) fprintf(stderr, "%s ", Flag.c_str()); fprintf(stderr, "\n"); return 0; }