Skip to content

Commit 35a2175

Browse files
brunoergamitiuttarwarmzumsande
committed
fuzz: addrman, add coverage for network field in Select(), Size() and GetAddr()
Co-authored-by: Amiti Uttarwar <[email protected]> Co-authored-by: Martin Zumsande <[email protected]>
1 parent d89aca1 commit 35a2175

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/test/fuzz/addrman.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,12 +299,20 @@ FUZZ_TARGET_INIT(addrman, initialize_addrman)
299299
});
300300
}
301301
const AddrMan& const_addr_man{addr_man};
302+
std::optional<Network> network;
303+
if (fuzzed_data_provider.ConsumeBool()) {
304+
network = fuzzed_data_provider.PickValueInArray(ALL_NETWORKS);
305+
}
302306
(void)const_addr_man.GetAddr(
303307
/*max_addresses=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096),
304308
/*max_pct=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096),
305-
/*network=*/std::nullopt);
306-
(void)const_addr_man.Select(fuzzed_data_provider.ConsumeBool());
307-
(void)const_addr_man.Size();
309+
network);
310+
(void)const_addr_man.Select(fuzzed_data_provider.ConsumeBool(), network);
311+
std::optional<bool> in_new;
312+
if (fuzzed_data_provider.ConsumeBool()) {
313+
in_new = fuzzed_data_provider.ConsumeBool();
314+
}
315+
(void)const_addr_man.Size(network, in_new);
308316
CDataStream data_stream(SER_NETWORK, PROTOCOL_VERSION);
309317
data_stream << const_addr_man;
310318
}

0 commit comments

Comments
 (0)