diff options
author | van Hauser <vh@thc.org> | 2020-02-19 16:52:40 +0100 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-02-19 16:52:40 +0100 |
commit | 42af8ee0597cc01885b5c0b5a7556b3aaecd826b (patch) | |
tree | bd2fd315d1c591f8854f7885eb9588a83f6ceceb | |
parent | ed4a70c6189a4670bcb8a20c4ec0a82245a4c017 (diff) | |
download | afl++-42af8ee0597cc01885b5c0b5a7556b3aaecd826b.tar.gz |
afl-cmin bugfix if -o exists
-rwxr-xr-x | afl-cmin | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/afl-cmin b/afl-cmin index 1dd67fbe..9570bc93 100755 --- a/afl-cmin +++ b/afl-cmin @@ -287,7 +287,8 @@ BEGIN { system("rm -rf "trace_dir" 2>/dev/null"); system("rm "out_dir"/id[:_]* 2>/dev/null") - if (0 == system( "test -d "out_dir" -a -e "out_dir"/*" )) { + "ls "out_dir"/* 2>/dev/null | wc -l" | getline noofentries + if (0 == system( "test -d "out_dir" -a "noofentries" -gt 0" )) { print "[-] Error: directory '"out_dir"' exists and is not empty - delete it first." > "/dev/stderr" exit 1 } @@ -318,7 +319,7 @@ BEGIN { print "[-] Error: can't find 'afl-showmap' - please set AFL_PATH." > "/dev/stderr" exit 1 } - + # get list of input filenames sorted by size i = 0 # yuck, gnu stat is option incompatible to bsd stat @@ -392,10 +393,10 @@ BEGIN { cur = 0; if (!stdin_file) { - printf " Processing "in_count" files (forkserver mode)..." + 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) } else { - printf " Processing "in_count" files (forkserver mode)..." + 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") } |