about summary refs log tree commit diff
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2020-11-14 19:38:06 +0100
committerhexcoder- <heiko@hexco.de>2020-11-14 19:38:06 +0100
commit76c5b8a3b420bfb74191cf4d3e44b067a268dc7f (patch)
treeb6e0258c9269b620cbcc5331333ac0a40ebf409c
parent40e10895a2b7b69425ee03b2ec6e478184120ee2 (diff)
downloadafl++-76c5b8a3b420bfb74191cf4d3e44b067a268dc7f.tar.gz
fix error handling in fauxserver
-rw-r--r--src/afl-forkserver.c12
-rw-r--r--src/afl-fuzz.c4
2 files changed, 4 insertions, 12 deletions
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 266f021b..3814a77e 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -220,15 +220,7 @@ static void afl_fauxsrv_execv(afl_forkserver_t *fsrv, char **argv) {
   }
 
   void (*old_sigchld_handler)(int) = signal(SIGCHLD, SIG_DFL);
-#if 0
-  WARNF("targetpath=%s", fsrv->target_path);
-  if (argv) {
-    for (char *p = argv[0]; p; ++p) {
-      WARNF(" %s", p);
-    }
-  }
-  WARNF("\n");
-#endif
+
   while (1) {
 
     uint32_t was_killed;
@@ -1146,7 +1138,7 @@ fsrv_run_result_t afl_fsrv_run_target(afl_forkserver_t *fsrv, u32 timeout,
   }
 
   // Fauxserver should handle this now.
-  // if (tb4 == EXEC_FAIL_SIG) return FSRV_RUN_ERROR;
+  if (*(u32 *)fsrv->trace_bits == EXEC_FAIL_SIG) return FSRV_RUN_ERROR;
 
   return FSRV_RUN_OK;
 
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 39af1e18..c1ddd413 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -442,7 +442,7 @@ int main(int argc, char **argv_orig, char **envp) {
 	if (optarg && *optarg == '-') { FATAL("argument for -M started with a dash '-', which is used for options"); }
 
         afl->sync_id = ck_strdup(optarg);
-        afl->skip_deterministic = 0;  // force determinsitic fuzzing
+        afl->skip_deterministic = 0;  // force deterministic fuzzing
         afl->old_seed_selection = 1;  // force old queue walking seed selection
 
         if ((c = strchr(afl->sync_id, ':'))) {
@@ -922,7 +922,7 @@ int main(int argc, char **argv_orig, char **envp) {
 
   afl->power_name = power_names[afl->schedule];
 
-  if (!afl->sync_id) {
+  if (!afl->non_instrumented_mode && !afl->sync_id) {
 
     auto_sync = 1;
     afl->sync_id = ck_strdup("default");