MCPcopy Create free account
hub / github.com/Taywee/args / LLVMFuzzerTestOneInput

Function LLVMFuzzerTestOneInput

fuzz/parse_args_fuzzer.cpp:7–29  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5#include <args.hxx>
6
7extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
8 auto fdp = FuzzedDataProvider(data, size);
9
10 auto parser = args::ArgumentParser("parse_args_fuzzer");
11
12 auto help = args::HelpFlag(parser, "help", "Displays this help menu", {'h', "help"});
13 auto test = args::Flag(parser, "test", "Test flag", {'t', "test"});
14 auto param = args::Flag(parser, "param", "Param flag", {'p', "param"});
15
16 auto count = fdp.ConsumeIntegralInRange(1, 10);
17 auto arguments = std::vector<std::string>();
18 arguments.reserve(count);
19 for (int i = 0; i < count; ++i) {
20 arguments.emplace_back(fdp.ConsumeRandomLengthString());
21 }
22
23 try {
24 parser.ParseArgs(arguments.begin(), arguments.end());
25 } catch (...) {
26 }
27
28 return 0;
29}
30

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected