diff options
author | brunoerg <brunoely.gc@gmail.com> | 2023-04-30 18:18:33 +0200 |
---|---|---|
committer | brunoerg <brunoely.gc@gmail.com> | 2023-05-02 11:05:36 -0300 |
commit | 35a2175ad8bec92b409ae2202c124e39b2f3f838 (patch) | |
tree | 779141f03d46dfe3edf77d0f3ad97cafb4df7036 /src/test/fuzz/addrman.cpp | |
parent | d89aca1bdbe52406f000e3fa8dda12c46dca9bdd (diff) |
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>
Diffstat (limited to 'src/test/fuzz/addrman.cpp')
-rw-r--r-- | src/test/fuzz/addrman.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/test/fuzz/addrman.cpp b/src/test/fuzz/addrman.cpp index 5ad7a25c53..d1ba654212 100644 --- a/src/test/fuzz/addrman.cpp +++ b/src/test/fuzz/addrman.cpp @@ -299,12 +299,20 @@ FUZZ_TARGET_INIT(addrman, initialize_addrman) }); } 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( /*max_addresses=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096), /*max_pct=*/fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096), - /*network=*/std::nullopt); - (void)const_addr_man.Select(fuzzed_data_provider.ConsumeBool()); - (void)const_addr_man.Size(); + network); + (void)const_addr_man.Select(fuzzed_data_provider.ConsumeBool(), network); + 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); data_stream << const_addr_man; } |