MCPcopy Create free account
hub / github.com/ElementsProject/elements / FUZZ_TARGET_INIT

Function FUZZ_TARGET_INIT

src/test/fuzz/torcontrol.cpp:42–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42FUZZ_TARGET_INIT(torcontrol, initialize_torcontrol)
43{
44 FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
45
46 TorController tor_controller;
47 LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) {
48 TorControlReply tor_control_reply;
49 CallOneOf(
50 fuzzed_data_provider,
51 [&] {
52 tor_control_reply.code = 250;
53 },
54 [&] {
55 tor_control_reply.code = 510;
56 },
57 [&] {
58 tor_control_reply.code = fuzzed_data_provider.ConsumeIntegral<int>();
59 });
60 tor_control_reply.lines = ConsumeRandomLengthStringVector(fuzzed_data_provider);
61 if (tor_control_reply.lines.empty()) {
62 break;
63 }
64 DummyTorControlConnection dummy_tor_control_connection;
65 CallOneOf(
66 fuzzed_data_provider,
67 [&] {
68 tor_controller.add_onion_cb(dummy_tor_control_connection, tor_control_reply);
69 },
70 [&] {
71 tor_controller.auth_cb(dummy_tor_control_connection, tor_control_reply);
72 },
73 [&] {
74 tor_controller.authchallenge_cb(dummy_tor_control_connection, tor_control_reply);
75 },
76 [&] {
77 tor_controller.protocolinfo_cb(dummy_tor_control_connection, tor_control_reply);
78 });
79 }
80}

Callers

nothing calls this directly

Calls 10

CallOneOfFunction · 0.85
ConsumeBoolMethod · 0.80
add_onion_cbMethod · 0.80
auth_cbMethod · 0.80
authchallenge_cbMethod · 0.80
protocolinfo_cbMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected