File tree Expand file tree Collapse file tree 4 files changed +36
-1
lines changed Expand file tree Collapse file tree 4 files changed +36
-1
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ FUZZ_TARGETS = \
7
7
test/fuzz/addr_info_deserialize \
8
8
test/fuzz/address_deserialize \
9
9
test/fuzz/addrman_deserialize \
10
+ test/fuzz/asmap \
10
11
test/fuzz/banentry_deserialize \
11
12
test/fuzz/base_encode_decode \
12
13
test/fuzz/bech32 \
@@ -255,6 +256,12 @@ test_fuzz_addrman_deserialize_LDADD = $(FUZZ_SUITE_LD_COMMON)
255
256
test_fuzz_addrman_deserialize_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
256
257
test_fuzz_addrman_deserialize_SOURCES = $(FUZZ_SUITE) test/fuzz/deserialize.cpp
257
258
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
+
258
265
test_fuzz_banentry_deserialize_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -DBANENTRY_DESERIALIZE=1
259
266
test_fuzz_banentry_deserialize_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
260
267
test_fuzz_banentry_deserialize_LDADD = $(FUZZ_SUITE_LD_COMMON)
Original file line number Diff line number Diff line change @@ -39,7 +39,6 @@ class CNetAddr
39
39
explicit CNetAddr (const struct in_addr & ipv4Addr);
40
40
void SetIP (const CNetAddr& ip);
41
41
42
- private:
43
42
/* *
44
43
* Set raw IPv4 or IPv6 address (in network byte order)
45
44
* @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
+ }
Original file line number Diff line number Diff line change 15
15
# Fuzzers known to lack a seed corpus in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
16
16
FUZZERS_MISSING_CORPORA = [
17
17
"addr_info_deserialize" ,
18
+ "asmap" ,
18
19
"base_encode_decode" ,
19
20
"block" ,
20
21
"block_file_info_deserialize" ,
You can’t perform that action at this time.
0 commit comments