add support for external command mutating files which have effective coverage feedback
diff --git a/cmdline.c b/cmdline.c
index fe40c86..9d203fa 100644
--- a/cmdline.c
+++ b/cmdline.c
@@ -274,6 +274,7 @@
.fuzzStdin = false,
.externalCommand = NULL,
.postExternalCommand = NULL,
+ .feedbackMutateCommand = NULL,
.persistent = false,
.netDriver = false,
.asLimit = 0U,
@@ -420,6 +421,7 @@
{ { "stackhash_bl", required_argument, NULL, 'B' }, "Stackhashes blacklist file (one entry per line)" },
{ { "mutate_cmd", required_argument, NULL, 'c' }, "External command producing fuzz files (instead of internal mutators)" },
{ { "pprocess_cmd", required_argument, NULL, 0x104 }, "External command postprocessing files produced by internal mutators" },
+ { { "ffmutate_cmd", required_argument, NULL, 0x110 }, "External command mutating files which have effective coverage feedback" },
{ { "run_time", required_argument, NULL, 0x109 }, "Number of seconds this fuzzing session will last (default: 0 [no limit])" },
{ { "iterations", required_argument, NULL, 'N' }, "Number of fuzzing iterations (default: 0 [no limit])" },
{ { "rlimit_as", required_argument, NULL, 0x100 }, "Per process RLIMIT_AS in MiB (default: 0 [no limit])" },
@@ -594,6 +596,9 @@
case 0x104:
hfuzz->exe.postExternalCommand = optarg;
break;
+ case 0x110:
+ hfuzz->exe.feedbackMutateCommand = optarg;
+ break;
case 0x105:
if ((strcasecmp(optarg, "0") == 0) || (strcasecmp(optarg, "false") == 0)) {
hfuzz->cfg.monitorSIGABRT = false;