From 7c8c140ecc95ab2ac90e20951416886c9ac5fa93 Mon Sep 17 00:00:00 2001 From: practicalswift Date: Mon, 15 Mar 2021 15:20:03 +0000 Subject: fuzz: Implement fuzzed_dns_lookup_function as lambda --- src/test/fuzz/netbase_dns_lookup.cpp | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'src/test/fuzz/netbase_dns_lookup.cpp') diff --git a/src/test/fuzz/netbase_dns_lookup.cpp b/src/test/fuzz/netbase_dns_lookup.cpp index 786440c8a4..7be8b13743 100644 --- a/src/test/fuzz/netbase_dns_lookup.cpp +++ b/src/test/fuzz/netbase_dns_lookup.cpp @@ -12,27 +12,22 @@ #include #include -namespace { -FuzzedDataProvider* fuzzed_data_provider_ptr = nullptr; - -std::vector fuzzed_dns_lookup_function(const std::string& name, bool allow_lookup) -{ - std::vector resolved_addresses; - while (fuzzed_data_provider_ptr->ConsumeBool()) { - resolved_addresses.push_back(ConsumeNetAddr(*fuzzed_data_provider_ptr)); - } - return resolved_addresses; -} -} // namespace - FUZZ_TARGET(netbase_dns_lookup) { FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()}; - fuzzed_data_provider_ptr = &fuzzed_data_provider; const std::string name = fuzzed_data_provider.ConsumeRandomLengthString(512); const unsigned int max_results = fuzzed_data_provider.ConsumeIntegral(); const bool allow_lookup = fuzzed_data_provider.ConsumeBool(); const int default_port = fuzzed_data_provider.ConsumeIntegral(); + + auto fuzzed_dns_lookup_function = [&](const std::string&, bool) { + std::vector resolved_addresses; + while (fuzzed_data_provider.ConsumeBool()) { + resolved_addresses.push_back(ConsumeNetAddr(fuzzed_data_provider)); + } + return resolved_addresses; + }; + { std::vector resolved_addresses; if (LookupHost(name, resolved_addresses, max_results, allow_lookup, fuzzed_dns_lookup_function)) { @@ -73,5 +68,4 @@ FUZZ_TARGET(netbase_dns_lookup) assert(resolved_subnet.IsValid()); } } - fuzzed_data_provider_ptr = nullptr; } -- cgit v1.2.3