about summary refs log tree commit diff
path: root/docs
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2023-04-13 12:07:27 +0200
committervanhauser-thc <vh@thc.org>2023-04-13 12:07:27 +0200
commitf756734ad2782c3ed56feadb4b7b23fc82a7a968 (patch)
tree8c520bc4f2c4aa0514073cb9fae5e4420633782e /docs
parent6cc8d607fb24e060591ece4b42d83fc06de68fc6 (diff)
downloadafl++-f756734ad2782c3ed56feadb4b7b23fc82a7a968.tar.gz
fix attempt at post_process implementation
Diffstat (limited to 'docs')
-rw-r--r--docs/Changelog.md1
-rw-r--r--docs/custom_mutators.md9
2 files changed, 8 insertions, 2 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 501300b1..9436fc9f 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -13,6 +13,7 @@
       everyone who was affected!
     - allow pizza mode to be disabled when AFL_PIZZA_MODE is set to -1
     - option `-p mmopt` now also selects new queue items more often
+    - fix bug in post_process custom mutator implementation
     - print name of custom mutator in UI
   - afl-cc:
     - add CFI sanitizer variant to gcc targets
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.