diff options
author | hexcoder- <heiko@hexco.de> | 2020-03-06 19:33:02 +0100 |
---|---|---|
committer | hexcoder- <heiko@hexco.de> | 2020-03-06 19:33:02 +0100 |
commit | 0d4f2da8db15df73ec9e0fc362cd2e98f7b5a2e7 (patch) | |
tree | d5192e90069cdb5c2cef589a5bbd53e387f8594b | |
parent | 47fdbf38173b07e8b71704d951574eb49fc46e17 (diff) | |
download | afl++-0d4f2da8db15df73ec9e0fc362cd2e98f7b5a2e7.tar.gz |
terminate afl-cmin early when signalled SIGINT
-rwxr-xr-x | afl-cmin | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/afl-cmin b/afl-cmin index 28d8c746..fb646503 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 > 127) { + retval = retval - 128 + if (retval > 127) { + retval = retval - 128 + } + printf "[!]Signal %d received, terminating...\n", retval + exit 1 } ####################################################### |