MCPcopy Create free account
hub / github.com/ElementsProject/elements / FUZZ_TARGET

Function FUZZ_TARGET

src/test/fuzz/cuckoocache.cpp:29–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27} // namespace
28
29FUZZ_TARGET(cuckoocache)
30{
31 FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
32 fuzzed_data_provider_ptr = &fuzzed_data_provider;
33 CuckooCache::cache<int, RandomHasher> cuckoo_cache{};
34 if (fuzzed_data_provider.ConsumeBool()) {
35 const size_t megabytes = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 16);
36 cuckoo_cache.setup_bytes(megabytes << 20);
37 } else {
38 cuckoo_cache.setup(fuzzed_data_provider.ConsumeIntegralInRange<uint32_t>(0, 4096));
39 }
40 LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) {
41 if (fuzzed_data_provider.ConsumeBool()) {
42 cuckoo_cache.insert(fuzzed_data_provider.ConsumeBool());
43 } else {
44 cuckoo_cache.contains(fuzzed_data_provider.ConsumeBool(), fuzzed_data_provider.ConsumeBool());
45 }
46 }
47 fuzzed_data_provider_ptr = nullptr;
48}

Callers

nothing calls this directly

Calls 7

ConsumeBoolMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45
setup_bytesMethod · 0.45
setupMethod · 0.45
insertMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected