about summary refs log tree commit diff
path: root/afl-cmin
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2020-03-06 21:23:54 +0100
committerAndrea Fioraldi <andreafioraldi@gmail.com>2020-03-06 21:23:54 +0100
commit2287534ec6dd68b06a5052caa4ab3305d15861ec (patch)
treeeef5536d834457fa942e1417556f0ff0f6503653 /afl-cmin
parent27d6d358934a1eaf0511ff4eedf93fe99034020a (diff)
parent13429d204d71ec1eef4b6b546e4739e9f2a9e869 (diff)
downloadafl++-2287534ec6dd68b06a5052caa4ab3305d15861ec.tar.gz
Merge branch 'master' of github.com:vanhauser-thc/AFLplusplus
Diffstat (limited to 'afl-cmin')
-rwxr-xr-xafl-cmin13
1 files changed, 11 insertions, 2 deletions
diff --git a/afl-cmin b/afl-cmin
index 28d8c746..ea57015e 100755
--- a/afl-cmin
+++ b/afl-cmin
@@ -397,10 +397,19 @@ BEGIN {
   cur = 0;
   if (!stdin_file) {
     print "    Processing "in_count" files (forkserver mode)..."
-    system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"\" -Z "extra_par" -i \""in_dir"\" -- \""target_bin"\" "prog_args_string)
+    retval = system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"\" -Z "extra_par" -i \""in_dir"\" -- \""target_bin"\" "prog_args_string)
   } else {
     print "    Processing "in_count" files (forkserver mode)..."
-    system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"\" -Z "extra_par" -i \""in_dir"\" -- \""target_bin"\" "prog_args_string" </dev/null")
+    retval = system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"\" -Z "extra_par" -i \""in_dir"\" -- \""target_bin"\" "prog_args_string" </dev/null")
+  }
+
+  if (retval) {
+    print "[!]Exit code != 0 received from afl-showmap, terminating..."
+
+    if (!ENVIRON["AFL_KEEP_TRACES"]) {
+      system("rm -rf "trace_dir" 2>/dev/null")
+    }
+    exit retval
   }
 
   #######################################################