aboutsummaryrefslogtreecommitdiff
path: root/examples/custom_mutators/example.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/custom_mutators/example.py')
-rw-r--r--examples/custom_mutators/example.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/custom_mutators/example.py b/examples/custom_mutators/example.py
index a68f2ee5..6bacfa05 100644
--- a/examples/custom_mutators/example.py
+++ b/examples/custom_mutators/example.py
@@ -120,3 +120,55 @@ def fuzz(buf, add_buf, max_size):
# '''
# return buf
#
+# def havoc_mutation(buf, max_size):
+# '''
+# Perform a single custom mutation on a given input.
+#
+# @type buf: bytearray
+# @param buf: The buffer that should be mutated.
+#
+# @type max_size: int
+# @param max_size: Maximum size of the mutated output. The mutation must not
+# produce data larger than max_size.
+#
+# @rtype: bytearray
+# @return: A new bytearray containing the mutated data
+# '''
+# return mutated_buf
+#
+# def havoc_mutation_probability():
+# '''
+# Called for each `havoc_mutation`. Return the probability (in percentage)
+# that `havoc_mutation` is called in havoc. Be default it is 6%.
+#
+# @rtype: int
+# @return: The probability (0-100)
+# '''
+# return prob
+#
+# def queue_get(filename):
+# '''
+# Called at the beginning of each fuzz iteration to determine whether the
+# test case should be fuzzed
+#
+# @type filename: str
+# @param filename: File name of the test case in the current queue entry
+#
+# @rtype: bool
+# @return: Return True if the custom mutator decides to fuzz the test case,
+# and False otherwise
+# '''
+# return True
+#
+# def queue_new_entry(filename_new_queue, filename_orig_queue):
+# '''
+# Called after adding a new test case to the queue
+#
+# @type filename_new_queue: str
+# @param filename_new_queue: File name of the new queue entry
+#
+# @type filename_orig_queue: str
+# @param filename_orig_queue: File name of the original queue entry
+# '''
+# pass
+