Skip to content

Commit 724c497

Browse files
committed
[fuzz] Add ConsumeAsmap() function
1 parent 5840476 commit 724c497

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

src/test/fuzz/addrman.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -218,17 +218,18 @@ class CAddrManDeterministic : public CAddrMan
218218
}
219219
};
220220

221+
[[nodiscard]] inline std::vector<bool> ConsumeAsmap(FuzzedDataProvider& fuzzed_data_provider) noexcept
222+
{
223+
std::vector<bool> asmap = ConsumeRandomLengthBitVector(fuzzed_data_provider);
224+
if (!SanityCheckASMap(asmap)) asmap.clear();
225+
return asmap;
226+
}
227+
221228
FUZZ_TARGET_INIT(addrman, initialize_addrman)
222229
{
223230
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
224231
SetMockTime(ConsumeTime(fuzzed_data_provider));
225-
std::vector<bool> asmap;
226-
if (fuzzed_data_provider.ConsumeBool()) {
227-
asmap = ConsumeRandomLengthBitVector(fuzzed_data_provider);
228-
if (!SanityCheckASMap(asmap)) {
229-
asmap.clear();
230-
}
231-
}
232+
std::vector<bool> asmap = ConsumeAsmap(fuzzed_data_provider);
232233
auto addr_man_ptr = std::make_unique<CAddrManDeterministic>(asmap, fuzzed_data_provider);
233234
if (fuzzed_data_provider.ConsumeBool()) {
234235
const std::vector<uint8_t> serialized_data{ConsumeRandomLengthByteVector(fuzzed_data_provider)};
@@ -307,10 +308,7 @@ FUZZ_TARGET_INIT(addrman_serdeser, initialize_addrman)
307308
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
308309
SetMockTime(ConsumeTime(fuzzed_data_provider));
309310

310-
std::vector<bool> asmap = ConsumeRandomLengthBitVector(fuzzed_data_provider);
311-
if (!SanityCheckASMap(asmap)) {
312-
asmap.clear();
313-
}
311+
std::vector<bool> asmap = ConsumeAsmap(fuzzed_data_provider);
314312
CAddrManDeterministic addr_man1{asmap, fuzzed_data_provider};
315313
CAddrManDeterministic addr_man2{asmap, fuzzed_data_provider};
316314

0 commit comments

Comments
 (0)