File tree Expand file tree Collapse file tree 3 files changed +35
-1
lines changed
Expand file tree Collapse file tree 3 files changed +35
-1
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ FUZZ_TARGETS = \
77 test/fuzz/addr_info_deserialize \
88 test/fuzz/address_deserialize \
99 test/fuzz/addrman_deserialize \
10+ test/fuzz/asmap \
1011 test/fuzz/banentry_deserialize \
1112 test/fuzz/base_encode_decode \
1213 test/fuzz/bech32 \
@@ -255,6 +256,12 @@ test_fuzz_addrman_deserialize_LDADD = $(FUZZ_SUITE_LD_COMMON)
255256test_fuzz_addrman_deserialize_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
256257test_fuzz_addrman_deserialize_SOURCES = $(FUZZ_SUITE) test/fuzz/deserialize.cpp
257258
259+ test_fuzz_asmap_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
260+ test_fuzz_asmap_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
261+ test_fuzz_asmap_LDADD = $(FUZZ_SUITE_LD_COMMON)
262+ test_fuzz_asmap_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
263+ test_fuzz_asmap_SOURCES = $(FUZZ_SUITE) test/fuzz/asmap.cpp
264+
258265test_fuzz_banentry_deserialize_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -DBANENTRY_DESERIALIZE=1
259266test_fuzz_banentry_deserialize_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
260267test_fuzz_banentry_deserialize_LDADD = $(FUZZ_SUITE_LD_COMMON)
Original file line number Diff line number Diff line change @@ -39,7 +39,6 @@ class CNetAddr
3939 explicit CNetAddr (const struct in_addr & ipv4Addr);
4040 void SetIP (const CNetAddr& ip);
4141
42- private:
4342 /* *
4443 * Set raw IPv4 or IPv6 address (in network byte order)
4544 * @note Only NET_IPV4 and NET_IPV6 are allowed for network.
Original file line number Diff line number Diff line change 1+ // Copyright (c) 2020 The Bitcoin Core developers
2+ // Distributed under the MIT software license, see the accompanying
3+ // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4+
5+ #include < netaddress.h>
6+ #include < test/fuzz/FuzzedDataProvider.h>
7+ #include < test/fuzz/fuzz.h>
8+
9+ #include < cstdint>
10+ #include < vector>
11+
12+ void test_one_input (const std::vector<uint8_t >& buffer)
13+ {
14+ FuzzedDataProvider fuzzed_data_provider (buffer.data (), buffer.size ());
15+ const Network network = fuzzed_data_provider.PickValueInArray ({NET_IPV4, NET_IPV6});
16+ if (fuzzed_data_provider.remaining_bytes () < 16 ) {
17+ return ;
18+ }
19+ CNetAddr net_addr;
20+ net_addr.SetRaw (network, fuzzed_data_provider.ConsumeBytes <uint8_t >(16 ).data ());
21+ std::vector<bool > asmap;
22+ for (const char cur_byte : fuzzed_data_provider.ConsumeRemainingBytes <char >()) {
23+ for (int bit = 0 ; bit < 8 ; ++bit) {
24+ asmap.push_back ((cur_byte >> bit) & 1 );
25+ }
26+ }
27+ (void )net_addr.GetMappedAS (asmap);
28+ }
You can’t perform that action at this time.
0 commit comments