diff options
| author | practicalswift <[email protected]> | 2020-06-09 09:45:39 +0000 |
|---|---|---|
| committer | practicalswift <[email protected]> | 2020-07-08 05:05:12 +0000 |
| commit | deba199f1c88c2e5f754b0a4ec43b9ef28de8352 (patch) | |
| tree | fc46ea1c618c1bf5a1027f18476d5f4133c6ed14 /src/test/fuzz/netaddress.cpp | |
| parent | Merge #19219: Replace automatic bans with discouragement filter (diff) | |
| download | discoin-deba199f1c88c2e5f754b0a4ec43b9ef28de8352.tar.xz discoin-deba199f1c88c2e5f754b0a4ec43b9ef28de8352.zip | |
tests: Add ConsumeSubNet(...). Move and increase coverage in ConsumeNetAddr(...).
Diffstat (limited to 'src/test/fuzz/netaddress.cpp')
| -rw-r--r-- | src/test/fuzz/netaddress.cpp | 30 |
1 files changed, 1 insertions, 29 deletions
diff --git a/src/test/fuzz/netaddress.cpp b/src/test/fuzz/netaddress.cpp index d8d53566c..2901c704f 100644 --- a/src/test/fuzz/netaddress.cpp +++ b/src/test/fuzz/netaddress.cpp @@ -5,41 +5,13 @@ #include <netaddress.h> #include <test/fuzz/FuzzedDataProvider.h> #include <test/fuzz/fuzz.h> +#include <test/fuzz/util.h> #include <cassert> #include <cstdint> #include <netinet/in.h> #include <vector> -namespace { -CNetAddr ConsumeNetAddr(FuzzedDataProvider& fuzzed_data_provider) noexcept -{ - const Network network = fuzzed_data_provider.PickValueInArray({Network::NET_IPV4, Network::NET_IPV6, Network::NET_INTERNAL, Network::NET_ONION}); - if (network == Network::NET_IPV4) { - const in_addr v4_addr = { - .s_addr = fuzzed_data_provider.ConsumeIntegral<uint32_t>()}; - return CNetAddr{v4_addr}; - } else if (network == Network::NET_IPV6) { - if (fuzzed_data_provider.remaining_bytes() < 16) { - return CNetAddr{}; - } - in6_addr v6_addr = {}; - memcpy(v6_addr.s6_addr, fuzzed_data_provider.ConsumeBytes<uint8_t>(16).data(), 16); - return CNetAddr{v6_addr, fuzzed_data_provider.ConsumeIntegral<uint32_t>()}; - } else if (network == Network::NET_INTERNAL) { - CNetAddr net_addr; - net_addr.SetInternal(fuzzed_data_provider.ConsumeBytesAsString(32)); - return net_addr; - } else if (network == Network::NET_ONION) { - CNetAddr net_addr; - net_addr.SetSpecial(fuzzed_data_provider.ConsumeBytesAsString(32)); - return net_addr; - } else { - assert(false); - } -} -}; // namespace - void test_one_input(const std::vector<uint8_t>& buffer) { FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size()); |