about summary refs log tree commit diff
path: root/docs/custom_mutators.md
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2023-04-17 10:26:33 +0200
committerGitHub <noreply@github.com>2023-04-17 10:26:33 +0200
commita326c23210dc2ace37bf1cadcc4521cf5d0b58cb (patch)
tree5e97dc274212181cd0117057492bce84809e1a4d /docs/custom_mutators.md
parent4f2d9eeaaa6b702ef28eb883f9000321eaf1fe9b (diff)
parent7f734c96d187312868178e8ead95dc103c557c1f (diff)
downloadafl++-a326c23210dc2ace37bf1cadcc4521cf5d0b58cb.tar.gz
Merge pull request #1706 from AFLplusplus/dev 4.06c
push to stable, 4.06c release
Diffstat (limited to 'docs/custom_mutators.md')
-rw-r--r--docs/custom_mutators.md9
1 files changed, 7 insertions, 2 deletions
diff --git a/docs/custom_mutators.md b/docs/custom_mutators.md
index 82131c92..a1de479e 100644
--- a/docs/custom_mutators.md
+++ b/docs/custom_mutators.md
@@ -118,7 +118,7 @@ def deinit():  # optional for Python
 
 ### Custom Mutation
 
-- `init`:
+- `init` (optional in Python):
 
     This method is called when AFL++ starts up and is used to seed RNG and set
     up buffers and state.
@@ -184,6 +184,11 @@ def deinit():  # optional for Python
     to the target, e.g. if it is too short, too corrupted, etc. If so,
     return a NULL buffer and zero length (or a 0 length string in Python).
 
+    NOTE: Do not make any random changes to the data in this function!
+
+    PERFORMANCE for C/C++: If possible make the changes in-place (so modify
+    the `*data` directly, and return it as `*outbuf = data`.
+
 - `fuzz_send` (optional):
 
     This method can be used if you want to send data to the target yourself,
@@ -202,7 +207,7 @@ def deinit():  # optional for Python
     discovered if compiled with INTROSPECTION. The custom mutator can then
     return a string (const char *) that reports the exact mutations used.
 
-- `deinit`:
+- `deinit` (optional in Python):
 
     The last method to be called, deinitializing the state.