curl-fuzzer C++ reference
Loading...
Searching...
No Matches
proto_fuzzer::ProfileFuzzerTraits Struct Reference

Ordinary runtime binding for one generated protobuf profile. More...

#include <profile_fuzzer.h>

Public Types

using CustomMutator = std::size_t (*)(std::uint8_t*, std::size_t, std::size_t, unsigned int)
 libFuzzer custom-mutator callback for the bound message type.
using CustomCrossOver
 libFuzzer custom-crossover callback for the bound message type.
using InputLoader = bool (*)(const std::uint8_t*, std::size_t, curl::fuzzer::proto::Scenario*)
 Parse and lower one input using the bound message type.
using MutationProbe = void (*)()
 Optional profiling-only callback that exercises typed mutation helpers.

Public Attributes

TargetProfile profile
 Runtime policy permanently associated with all callbacks.
CustomMutator custom_mutator
 Typed mutation callback.
CustomCrossOver custom_crossover
 Typed crossover callback.
InputLoader load_input
 Typed parse-and-lower callback.
MutationProbe probe_mutation_helpers
 Timing-profile probe, or nullptr for ordinary profiles.

Detailed Description

Ordinary runtime binding for one generated protobuf profile.

A single binding owns the target profile and every typed LPM callback. This keeps libFuzzer entrypoints non-template while guaranteeing mutation, crossover, and loading all use the same concrete protobuf message type.

Definition at line 30 of file profile_fuzzer.h.


The documentation for this struct was generated from the following file: