mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-23 15:20:49 +01:00
fuzz: addrman, add coverage for network
field in Select()
, Size()
and GetAddr()
Co-authored-by: Amiti Uttarwar <amiti@uttarwar.org> Co-authored-by: Martin Zumsande <mzumsande@gmail.com>
This commit is contained in:
parent
d89aca1bdb
commit
35a2175ad8
1 changed files with 11 additions and 3 deletions
|
@ -299,12 +299,20 @@ FUZZ_TARGET_INIT(addrman, initialize_addrman)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const AddrMan& const_addr_man{addr_man};
|
const AddrMan& const_addr_man{addr_man};
|
||||||
|
std::optional<Network> network;
|
||||||
|
if (fuzzed_data_provider.ConsumeBool()) {
|
||||||
|
network = fuzzed_data_provider.PickValueInArray(ALL_NETWORKS);
|
||||||
|
}
|
||||||
(void)const_addr_man.GetAddr(
|
(void)const_addr_man.GetAddr(
|
||||||
/*max_addresses=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096),
|
/*max_addresses=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096),
|
||||||
/*max_pct=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096),
|
/*max_pct=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096),
|
||||||
/*network=*/std::nullopt);
|
network);
|
||||||
(void)const_addr_man.Select(fuzzed_data_provider.ConsumeBool());
|
(void)const_addr_man.Select(fuzzed_data_provider.ConsumeBool(), network);
|
||||||
(void)const_addr_man.Size();
|
std::optional<bool> in_new;
|
||||||
|
if (fuzzed_data_provider.ConsumeBool()) {
|
||||||
|
in_new = fuzzed_data_provider.ConsumeBool();
|
||||||
|
}
|
||||||
|
(void)const_addr_man.Size(network, in_new);
|
||||||
CDataStream data_stream(SER_NETWORK, PROTOCOL_VERSION);
|
CDataStream data_stream(SER_NETWORK, PROTOCOL_VERSION);
|
||||||
data_stream << const_addr_man;
|
data_stream << const_addr_man;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue