aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-02-16 19:22:12 +0100
committervan Hauser <vh@thc.org>2020-02-16 19:22:12 +0100
commite40415cf1605455cf671ddad7c3b2aac8ccdf3d7 (patch)
tree69487d268b0602fd1b99d4f8ba2d3c1d154313ae
parent204059c61aca2ccdde64fbb59dbf6d86fb243bb3 (diff)
downloadafl++-e40415cf1605455cf671ddad7c3b2aac8ccdf3d7.tar.gz
fix
l---------Changelog.md1
-rw-r--r--docs/Changelog.md1
-rw-r--r--gcc_plugin/Makefile2
-rw-r--r--include/envs.h97
-rw-r--r--src/afl-fuzz.c3
5 files changed, 103 insertions, 1 deletions
diff --git a/Changelog.md b/Changelog.md
new file mode 120000
index 00000000..c50d6ab3
--- /dev/null
+++ b/Changelog.md
@@ -0,0 +1 @@
+docs/Changelog.md \ No newline at end of file
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 898591f4..b96884d7 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -23,6 +23,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- changed execs_per_sec in fuzzer_stats from "current" execs per second
(which is pointless) to total execs per second
- bugfix for dictionary insert stage count (fix via Google repo PR)
+ - added warning if -M is used together with custom mutators with _ONLY option
- llvm_mode InsTrim: no pointless instrumentation of 1 block functions
- afl-clang-fast:
- show in the help output for which llvm version it was compiled for
diff --git a/gcc_plugin/Makefile b/gcc_plugin/Makefile
index 4dcec72f..1ee18b82 100644
--- a/gcc_plugin/Makefile
+++ b/gcc_plugin/Makefile
@@ -132,4 +132,4 @@ vpath % ..
clean:
rm -f *.o *.so *~ a.out core core.[1-9][0-9]* test-instr .test-instr0 .test-instr1 .test2
- rm -f $(PROGS) ../afl-g++-fast ../afl-g*-fast.8
+ rm -f $(PROGS) afl-common.o ../afl-g++-fast ../afl-g*-fast.8
diff --git a/include/envs.h b/include/envs.h
new file mode 100644
index 00000000..f9344900
--- /dev/null
+++ b/include/envs.h
@@ -0,0 +1,97 @@
+const char *afl_environment_variables[] = {
+
+ "AFL_ALIGNED_ALLOC",
+ "AFL_ALLOW_TMP",
+ "AFL_ANALYZE_HEX",
+ "AFL_AS",
+ "AFL_AS_FORCE_INSTRUMENT",
+ "AFL_BENCH_JUST_ONE",
+ "AFL_BENCH_UNTIL_CRASH",
+ "AFL_CAL_FAST",
+ "AFL_CC",
+ "AFL_CMIN_ALLOW_ANY",
+ "AFL_CMIN_CRASHES_ONLY",
+ "AFL_CODE_END",
+ "AFL_CODE_START",
+ "AFL_COMPCOV_BINNAME",
+ "AFL_COMPCOV_LEVEL",
+ "AFL_CUSTOM_MUTATOR_LIBRARY",
+ "AFL_CUSTOM_MUTATOR_ONLY",
+ "AFL_CXX",
+ "AFL_DEBUG",
+ "AFL_DEBUG_CHILD_OUTPUT",
+ "AFL_DEFER_FORKSRV",
+ "AFL_DISABLE_TRIM",
+ "AFL_DONT_OPTIMIZE",
+ "AFL_DUMB_FORKSRV",
+ "___AFL_EINS_ZWEI_POLIZEI___",
+ "AFL_ENTRYPOINT",
+ "AFL_EXIT_WHEN_DONE",
+ "AFL_FAST_CAL",
+ "AFL_FORCE_UI",
+ "AFL_GCC_WHITELIST",
+ "AFL_GCJ",
+ "AFL_HANG_TMOUT",
+ "AFL_HARDEN",
+ "AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES",
+ "AFL_IMPORT_FIRST",
+ "AFL_INST_LIBS",
+ "AFL_INST_RATIO",
+ "AFL_KEEP_TRACES",
+ "AFL_KEEP_ASSEMBLY",
+ "AFL_LD_HARD_FAIL",
+ "AFL_LD_LIMIT_MB",
+ "AFL_LD_NO_CALLOC_OVER",
+ "AFL_LD_PRELOAD",
+ "AFL_LD_VERBOSE",
+ "AFL_LLVM_CMPLOG",
+ "AFL_LLVM_INSTRIM",
+ "AFL_LLVM_INSTRIM_LOOPHEAD",
+ "AFL_LLVM_LAF_SPLIT_COMPARES",
+ "AFL_LLVM_LAF_SPLIT_COMPARES_BITW",
+ "AFL_LLVM_LAF_SPLIT_FLOATS",
+ "AFL_LLVM_LAF_SPLIT_SWITCHES",
+ "AFL_LLVM_LAF_TRANSFORM_COMPARES",
+ "AFL_LLVM_NOT_ZERO",
+ "AFL_LLVM_WHITELIST",
+ "AFL_NO_AFFINITY",
+ "AFL_NO_ARITH",
+ "AFL_NO_BUILTIN",
+ "AFL_NO_CPU_RED",
+ "AFL_NO_FORKSRV",
+ "AFL_NO_UI",
+ "AFL_PATH",
+ "AFL_PERFORMANCE_FILE",
+ "AFL_PERSISTENT",
+ "AFL_POST_LIBRARY",
+ "AFL_PRELOAD",
+ "AFL_PYTHON_MODULE",
+ "AFL_PYTHON_ONLY",
+ "AFL_QEMU_COMPCOV",
+ "AFL_QEMU_COMPCOV_DEBUG",
+ "AFL_QEMU_DEBUG_MAPS",
+ "AFL_QEMU_DISABLE_CACHE",
+ "AFL_QEMU_PERSISTENT_ADDR",
+ "AFL_QEMU_PERSISTENT_CNT",
+ "AFL_QEMU_PERSISTENT_GPR",
+ "AFL_QEMU_PERSISTENT_HOOK",
+ "AFL_QEMU_PERSISTENT_RET",
+ "AFL_QEMU_PERSISTENT_RETADDR_OFFSET",
+ "AFL_QUIET",
+ "AFL_RANDOM_ALLOC_CANARY",
+ "AFL_REAL_PATH",
+ "AFL_SHUFFLE_QUEUE",
+ "AFL_SKIP_BIN_CHECK",
+ "AFL_SKIP_CPUFREQ",
+ "AFL_SKIP_CRASHES",
+ "AFL_TMIN_EXACT",
+ "AFL_TMPDIR",
+ "AFL_TOKEN_FILE",
+ "AFL_TRACE_PC",
+ "AFL_USE_ASAN",
+ "AFL_USE_MSAN",
+ "AFL_USE_TRACE_PC",
+ "AFL_USE_UBSAN",
+ "AFL_WINE_PATH",
+ NULL};
+
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index e995a7a0..5e5bc171 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -609,6 +609,9 @@ int main(int argc, char** argv, char** envp) {
OKF("afl-tmin fork server patch from github.com/nccgroup/TriforceAFL");
OKF("MOpt Mutator from github.com/puppet-meteor/MOpt-AFL");
+ if (sync_id && force_deterministic && (getenv("AFL_CUSTOM_MUTATOR_ONLY") || getenv("AFL_PYTHON_ONLY")))
+ WARNF("Using -M master with the AFL_..._ONLY mutator options will result in no deterministic mutations being done!");
+
check_environment_vars(envp);
if (fixed_seed) OKF("Running with fixed seed: %u", (u32)init_seed);