Changeset View
Changeset View
Standalone View
Standalone View
src/test/fuzz/bloom_filter.cpp
Show All 22 Lines | CBloomFilter bloom_filter{ | ||||
1, std::numeric_limits<unsigned int>::max()), | 1, std::numeric_limits<unsigned int>::max()), | ||||
fuzzed_data_provider.ConsumeIntegral<unsigned int>(), | fuzzed_data_provider.ConsumeIntegral<unsigned int>(), | ||||
static_cast<uint8_t>(fuzzed_data_provider.PickValueInArray( | static_cast<uint8_t>(fuzzed_data_provider.PickValueInArray( | ||||
{BLOOM_UPDATE_NONE, BLOOM_UPDATE_ALL, BLOOM_UPDATE_P2PUBKEY_ONLY, | {BLOOM_UPDATE_NONE, BLOOM_UPDATE_ALL, BLOOM_UPDATE_P2PUBKEY_ONLY, | ||||
BLOOM_UPDATE_MASK}))}; | BLOOM_UPDATE_MASK}))}; | ||||
while (fuzzed_data_provider.remaining_bytes() > 0) { | while (fuzzed_data_provider.remaining_bytes() > 0) { | ||||
switch (fuzzed_data_provider.ConsumeIntegralInRange(0, 4)) { | switch (fuzzed_data_provider.ConsumeIntegralInRange(0, 4)) { | ||||
case 0: { | case 0: { | ||||
const std::vector<uint8_t> &b = | const std::vector<uint8_t> b = | ||||
ConsumeRandomLengthByteVector(fuzzed_data_provider); | ConsumeRandomLengthByteVector(fuzzed_data_provider); | ||||
(void)bloom_filter.contains(b); | (void)bloom_filter.contains(b); | ||||
bloom_filter.insert(b); | bloom_filter.insert(b); | ||||
const bool present = bloom_filter.contains(b); | const bool present = bloom_filter.contains(b); | ||||
assert(present); | assert(present); | ||||
break; | break; | ||||
} | } | ||||
case 1: { | case 1: { | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |