about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2023-04-25 11:56:50 +0200
committervanhauser-thc <vh@thc.org>2023-04-25 11:56:50 +0200
commitbc969f78f634035abf88bc73a5076848660901e7 (patch)
tree8a395613433680dfb97056f2a11c2a6d31cb6ddb
parent7b877e2c1d96efa7486ef4ba7860bec58dd1cd5b (diff)
downloadafl++-bc969f78f634035abf88bc73a5076848660901e7.tar.gz
fixes
-rwxr-xr-xafl-cmin.bash9
-rw-r--r--src/afl-fuzz-init.c7
2 files changed, 11 insertions, 5 deletions
diff --git a/afl-cmin.bash b/afl-cmin.bash
index ba7083fa..0e2d973d 100755
--- a/afl-cmin.bash
+++ b/afl-cmin.bash
@@ -316,12 +316,16 @@ if [ ! "$T_ARG" = "" ]; then
   if [ "$T_ARG" = "all" ]; then
     THREADS=$(nproc)
   else
-    if [ "$T_ARG" -gt 0 -a "$T_ARG" -le "$(nproc)" ]; then
+    if [ "$T_ARG" -gt 1 -a "$T_ARG" -le "$(nproc)" ]; then
       THREADS=$T_ARG
     else
-      echo "[-] Error: -T parameter must between 1 and $(nproc) or \"all\"." 1>&2
+      echo "[-] Error: -T parameter must between 2 and $(nproc) or \"all\"." 1>&2
     fi
   fi
+else
+  if [ "$F_ARG" = ""]; then
+    echo "[*] Are you aware of the '-T all' parallelize option that massively improves the speed?"
+  fi
 fi
 
 IN_COUNT=$((`ls -- "$IN_DIR" 2>/dev/null | wc -l`))
@@ -332,6 +336,7 @@ if [ "$IN_COUNT" = "0" ]; then
   exit 1
 fi
 
+echo "[*] Are you aware that afl-cmin is faster than this afl-cmin.bash script?"
 echo "[+] Found $IN_COUNT files for minimizing."
 
 FIRST_FILE=`ls "$IN_DIR" | head -1`
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index 002a26f8..bd591c8f 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -756,7 +756,7 @@ void read_testcases(afl_state_t *afl, u8 *directory) {
         free(nl[i]);                                         /* not tracked */
         read_testcases(afl, fn2);
         ck_free(fn2);
-        continue;
+        goto next_entry;
 
       }
 
@@ -765,7 +765,7 @@ void read_testcases(afl_state_t *afl, u8 *directory) {
       if (!S_ISREG(st.st_mode) || !st.st_size || strstr(fn2, "/README.txt")) {
 
         ck_free(fn2);
-        continue;
+        goto next_entry;
 
       }
 
@@ -812,13 +812,14 @@ void read_testcases(afl_state_t *afl, u8 *directory) {
 
       }
 
+    next_entry:
       if (unlikely(afl->in_place_resume)) {
 
         if (unlikely(i == 0)) { done = 1; }
 
       } else {
 
-        if (unlikely(++i == (u32)nl_cnt)) { done = 1; }
+        if (unlikely(++i >= (u32)nl_cnt)) { done = 1; }
 
       }