3#include <fuzzer/FuzzedDataProvider.h>
44 size_t minimum_size = 17;
46 if (size < minimum_size) {
51 FuzzedDataProvider fuzzed_data(
data, size);
54 std::array<uint8_t, 16> value_bytes;
55 for (
size_t i = 0; i < 16; i++) {
56 value_bytes[i] = fuzzed_data.ConsumeIntegral<uint8_t>();
59 for (
size_t i = 0; i < 16; i++) {
64 uint8_t num_bits = fuzzed_data.ConsumeIntegralInRange<uint8_t>(1, 128);
80 }
catch (
const std::exception& e) {
89 if (getenv(
"AVM_DEBUG") !=
nullptr) {
90 info(
"Debugging trace:");
96 check_relation<range_check_rel>(trace);
97 check_all_interactions<RangeCheckTraceBuilder>(trace);
DeduplicatingEventEmitter< RangeCheckEvent > range_check_emitter
void run(uint32_t starting_row=0)
void process_misc(TraceContainer &trace, const uint32_t num_rows=MAX_AVM_TRACE_SIZE)
void process_power_of_2(TraceContainer &trace)
void process_sel_range_16(TraceContainer &trace)
void process_sel_range_8(TraceContainer &trace)
void process(const simulation::EventEmitterInterface< simulation::RangeCheckEvent >::Container &events, TraceContainer &trace)
RangeCheckTraceBuilder range_check_builder
PrecomputedTraceBuilder precomputed_builder
const std::vector< MemoryValue > data
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
unsigned __int128 uint128_t