aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2023-01-18 22:17:14 +0100
committervanhauser-thc <vh@thc.org>2023-01-18 22:17:14 +0100
commit14d8eb9e40a6329abcb2f153174b543349c68c13 (patch)
tree183d50c2416d6949e59a2e89ddad564b6b088541 /include
parent8fe5e29104fc514551bbc926c5142dac68562b43 (diff)
downloadAFLplusplus-14d8eb9e40a6329abcb2f153174b543349c68c13.tar.gz
autotoken: splicing; splice_optout
Diffstat (limited to 'include')
-rw-r--r--include/afl-fuzz.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index 69fea579..1e8d085d 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -344,6 +344,7 @@ enum {
/* 12 */ PY_FUNC_INTROSPECTION,
/* 13 */ PY_FUNC_DESCRIBE,
/* 14 */ PY_FUNC_FUZZ_SEND,
+ /* 15 */ PY_FUNC_SPLICE_OPTOUT,
PY_FUNC_COUNT
};
@@ -495,6 +496,7 @@ typedef struct afl_state {
no_unlink, /* do not unlink cur_input */
debug, /* Debug mode */
custom_only, /* Custom mutator only mode */
+ custom_splice_optout, /* Custom mutator no splice buffer */
is_main_node, /* if this is the main node */
is_secondary_node, /* if this is a secondary instance */
pizza_is_served; /* pizza mode */
@@ -829,6 +831,17 @@ struct custom_mutator {
u32 (*afl_custom_fuzz_count)(void *data, const u8 *buf, size_t buf_size);
/**
+ * Opt-out of a splicing input for the fuzz mutator
+ *
+ * Empty dummy function. It's presence tells afl-fuzz not to pass a
+ * splice data pointer and len.
+ *
+ * @param data pointer returned in afl_custom_init by this custom mutator
+ * @noreturn
+ */
+ void (*afl_custom_splice_optout)(void *data);
+
+ /**
* Perform custom mutations on a given input
*
* (Optional for now. Required in the future)
@@ -1057,6 +1070,7 @@ u8 havoc_mutation_probability_py(void *);
u8 queue_get_py(void *, const u8 *);
const char *introspection_py(void *);
u8 queue_new_entry_py(void *, const u8 *, const u8 *);
+void splice_optout(void *);
void deinit_py(void *);
#endif