#include <cstdint>
#include <functional>
#include <span>
#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; \
std::span< const uint8_t > FuzzBufferType
Definition at line 37 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 22 of file fuzz.h.
◆ FuzzBufferType
◆ TypeTestOneInput
◆ FuzzFrameworkRegisterTarget()