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

Function FUZZ_TARGET

src/test/fuzz/blockfilter.cpp:15–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13#include <vector>
14
15FUZZ_TARGET(blockfilter)
16{
17 FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
18 const std::optional<BlockFilter> block_filter = ConsumeDeserializable<BlockFilter>(fuzzed_data_provider);
19 if (!block_filter) {
20 return;
21 }
22 {
23 (void)block_filter->ComputeHeader(ConsumeUInt256(fuzzed_data_provider));
24 (void)block_filter->GetBlockHash();
25 (void)block_filter->GetEncodedFilter();
26 (void)block_filter->GetHash();
27 }
28 {
29 const BlockFilterType block_filter_type = block_filter->GetFilterType();
30 (void)BlockFilterTypeName(block_filter_type);
31 }
32 {
33 const GCSFilter gcs_filter = block_filter->GetFilter();
34 (void)gcs_filter.GetN();
35 (void)gcs_filter.GetParams();
36 (void)gcs_filter.GetEncoded();
37 (void)gcs_filter.Match(ConsumeRandomLengthByteVector(fuzzed_data_provider));
38 GCSFilter::ElementSet element_set;
39 LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 30000)
40 {
41 element_set.insert(ConsumeRandomLengthByteVector(fuzzed_data_provider));
42 }
43 gcs_filter.MatchAny(element_set);
44 }
45}

Callers

nothing calls this directly

Calls 13

ConsumeUInt256Function · 0.85
ComputeHeaderMethod · 0.80
GetNMethod · 0.80
ConsumeBoolMethod · 0.80
MatchAnyMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45
GetBlockHashMethod · 0.45
GetHashMethod · 0.45
GetFilterTypeMethod · 0.45
MatchMethod · 0.45

Tested by

no test coverage detected