#include <span.h>
#include <cstdint>
#include <functional>
#include <string_view>
Go to the source code of this file.
◆ DETAIL_FUZZ
#define DETAIL_FUZZ |
( |
|
name, |
|
|
|
... |
|
) |
| |
Value:
struct
name##_Before_Main { \
name##_Before_Main() \
{ \
FuzzFrameworkRegisterTarget(#
name,
name##_fuzz_target, {__VA_ARGS__}); \
} \
}
const static g_##
name##_before_main; \
A Span is an object that can refer to a contiguous sequence of objects.
Definition at line 38 of file fuzz.h.
◆ FUZZ_TARGET
◆ LIMITED_WHILE
#define LIMITED_WHILE |
( |
|
condition, |
|
|
|
limit |
|
) |
| for (unsigned _count{limit}; (condition) && _count; --_count) |
Can be used to limit a theoretically unbounded loop.
This caps the runtime to avoid timeouts or OOMs.
This can be used in combination with a check in the condition to confirm whether the fuzz engine provided "good" data. If the fuzz input contains invalid data, the loop aborts early. This will teach the fuzz engine to look for useful data and avoids bloating the fuzz input folder with useless data.
Definition at line 23 of file fuzz.h.
◆ FuzzBufferType
◆ TypeTestOneInput
◆ FuzzFrameworkRegisterTarget()