From 35a2175ad8bec92b409ae2202c124e39b2f3f838 Mon Sep 17 00:00:00 2001 From: brunoerg Date: Sun, 30 Apr 2023 18:18:33 +0200 Subject: [PATCH] fuzz: addrman, add coverage for `network` field in `Select()`, `Size()` and `GetAddr()` Co-authored-by: Amiti Uttarwar Co-authored-by: Martin Zumsande --- src/test/fuzz/addrman.cpp | 14 +++++++++++--- 1 file 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; + if (fuzzed_data_provider.ConsumeBool()) { + network = fuzzed_data_provider.PickValueInArray(ALL_NETWORKS); + } (void)const_addr_man.GetAddr( /*max_addresses=*/fuzzed_data_provider.ConsumeIntegralInRange(0, 4096), /*max_pct=*/fuzzed_data_provider.ConsumeIntegralInRange(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 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; }