aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-init.c12
-rw-r--r--src/afl-fuzz.c27
-rw-r--r--src/afl-gcc.c52
-rw-r--r--src/afl-showmap.c6
4 files changed, 55 insertions, 42 deletions
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index bafb1d63..2176c5cf 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -603,9 +603,11 @@ void perform_dry_run(char** argv) {
"binary. Also,\n"
" if you are using ASAN, see %s/notes_for_asan.md.\n\n"
- " - In QEMU persistent mode the selected address(es) for the loop are not\n"
+ " - In QEMU persistent mode the selected address(es) for the "
+ "loop are not\n"
" properly cleaning up variables and memory. Try adding\n"
- " AFL_QEMU_PERSISTENT_GPR=1 or select better addresses in the binary.\n\n"
+ " AFL_QEMU_PERSISTENT_GPR=1 or select better addresses in "
+ "the binary.\n\n"
MSG_FORK_ON_APPLE
@@ -628,9 +630,11 @@ void perform_dry_run(char** argv) {
"interesting\n"
" inputs - but not ones that cause an outright crash.\n\n"
- " - In QEMU persistent mode the selected address(es) for the loop are not\n"
+ " - In QEMU persistent mode the selected address(es) for the "
+ "loop are not\n"
" properly cleaning up variables and memory. Try adding\n"
- " AFL_QEMU_PERSISTENT_GPR=1 or select better addresses in the binary.\n\n"
+ " AFL_QEMU_PERSISTENT_GPR=1 or select better addresses in "
+ "the binary.\n\n"
MSG_FORK_ON_APPLE
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 740fb5cb..a9a6db97 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -113,7 +113,8 @@ static void usage(u8* argv0) {
" pacemaker mode (minutes of no new paths, 0 = "
"immediately).\n"
" a recommended value is 10-60. see docs/README.MOpt\n"
- " -c program - enable CmpLog by specifying a binary compiled for it.\n"
+ " -c program - enable CmpLog by specifying a binary compiled for "
+ "it.\n"
" if using QEMU, just use -c 0.\n\n"
"Fuzzing behavior settings:\n"
@@ -829,24 +830,30 @@ int main(int argc, char** argv, char** envp) {
if ((tmp_dir = getenv("AFL_TMPDIR")) != NULL && !in_place_resume) {
- char tmpfile[file_extension
- ? strlen(tmp_dir) + 1 + 10 + 1 + strlen(file_extension) + 1
- : strlen(tmp_dir) + 1 + 10 + 1];
+ char tmpfile[file_extension
+ ? strlen(tmp_dir) + 1 + 10 + 1 + strlen(file_extension) + 1
+ : strlen(tmp_dir) + 1 + 10 + 1];
if (file_extension) {
+
sprintf(tmpfile, "%s/.cur_input.%s", tmp_dir, file_extension);
+
} else {
+
sprintf(tmpfile, "%s/.cur_input", tmp_dir);
+
}
+
if (access(tmpfile, F_OK) !=
-1) // there is still a race condition here, but well ...
- FATAL("AFL_TMPDIR already has an existing temporary input file: %s - if this is not from another instance, then just remove the file.",
- tmpfile);
+ FATAL(
+ "AFL_TMPDIR already has an existing temporary input file: %s - if "
+ "this is not from another instance, then just remove the file.",
+ tmpfile);
} else
tmp_dir = out_dir;
-
/* If we don't have a file name chosen yet, use a safe default. */
if (!out_file) {
@@ -884,11 +891,13 @@ int main(int argc, char** argv, char** envp) {
if (!out_file) setup_stdio_file();
if (cmplog_binary) {
+
if (unicorn_mode)
FATAL("CmpLog and Unicorn mode are not compatible at the moment, sorry");
- if (!qemu_mode)
- check_binary(cmplog_binary);
+ if (!qemu_mode) check_binary(cmplog_binary);
+
}
+
check_binary(argv[optind]);
start_time = get_cur_time();
diff --git a/src/afl-gcc.c b/src/afl-gcc.c
index 60e0a7ce..5baec062 100644
--- a/src/afl-gcc.c
+++ b/src/afl-gcc.c
@@ -342,31 +342,30 @@ static void edit_params(u32 argc, char** argv) {
int main(int argc, char** argv) {
- char *env_info =
- "Environment variables used by afl-gcc:\n"
- "AFL_CC: path to the C compiler to use\n"
- "AFL_CXX: path to the C++ compiler to use\n"
- "AFL_GCJ: path to the java compiler to use\n"
- "AFL_PATH: path to the instrumenting assembler\n"
- "AFL_DONT_OPTIMIZE: disable optimization instead of -O3\n"
- "AFL_NO_BUILTIN: compile for use with libtokencap.so\n"
- "AFL_QUIET: suppress verbose output\n"
- "AFL_CAL_FAST: speed up the initial calibration\n"
- "AFL_HARDEN: adds code hardening to catch memory bugs\n"
- "AFL_USE_ASAN: activate address sanitizer\n"
- "AFL_USE_MSAN: activate memory sanitizer\n"
- "AFL_USE_UBSAN: activate undefined behaviour sanitizer\n"
-
- "\nEnvironment variables used by afl-as (called by afl-gcc):\n"
- "AFL_AS: path to the assembler to use\n"
- "TMPDIR: set the directory for temporary files of afl-as\n"
- "TEMP: fall back path to directory for temporary files\n"
- "TMP: fall back path to directory for temporary files\n"
- "AFL_INST_RATIO: percentage of branches to instrument\n"
- "AFL_QUIET: suppress verbose output\n"
- "AFL_KEEP_ASSEMBLY: leave instrumented assembly files\n"
- "AFL_AS_FORCE_INSTRUMENT: force instrumentation for asm sources\n"
- ;
+ char* env_info =
+ "Environment variables used by afl-gcc:\n"
+ "AFL_CC: path to the C compiler to use\n"
+ "AFL_CXX: path to the C++ compiler to use\n"
+ "AFL_GCJ: path to the java compiler to use\n"
+ "AFL_PATH: path to the instrumenting assembler\n"
+ "AFL_DONT_OPTIMIZE: disable optimization instead of -O3\n"
+ "AFL_NO_BUILTIN: compile for use with libtokencap.so\n"
+ "AFL_QUIET: suppress verbose output\n"
+ "AFL_CAL_FAST: speed up the initial calibration\n"
+ "AFL_HARDEN: adds code hardening to catch memory bugs\n"
+ "AFL_USE_ASAN: activate address sanitizer\n"
+ "AFL_USE_MSAN: activate memory sanitizer\n"
+ "AFL_USE_UBSAN: activate undefined behaviour sanitizer\n"
+
+ "\nEnvironment variables used by afl-as (called by afl-gcc):\n"
+ "AFL_AS: path to the assembler to use\n"
+ "TMPDIR: set the directory for temporary files of afl-as\n"
+ "TEMP: fall back path to directory for temporary files\n"
+ "TMP: fall back path to directory for temporary files\n"
+ "AFL_INST_RATIO: percentage of branches to instrument\n"
+ "AFL_QUIET: suppress verbose output\n"
+ "AFL_KEEP_ASSEMBLY: leave instrumented assembly files\n"
+ "AFL_AS_FORCE_INSTRUMENT: force instrumentation for asm sources\n";
if (argc == 2 && strcmp(argv[1], "-h") == 0) {
@@ -410,7 +409,8 @@ int main(int argc, char** argv) {
"Setting AFL_HARDEN enables hardening optimizations in the compiled "
"code.\n\n%s"
- , BIN_PATH, BIN_PATH, env_info);
+ ,
+ BIN_PATH, BIN_PATH, env_info);
exit(1);
diff --git a/src/afl-showmap.c b/src/afl-showmap.c
index a46645ab..95c4592d 100644
--- a/src/afl-showmap.c
+++ b/src/afl-showmap.c
@@ -1014,12 +1014,12 @@ int main(int argc, char** argv, char** envp) {
tcnt, highest, total, out_file);
}
-
+
if (stdin_file) {
-
+
unlink(stdin_file);
stdin_file = NULL;
-
+
}
exit(child_crashed * 2 + child_timed_out);