Skip to content

Commit 0d4f2da

Browse files
committed
terminate afl-cmin early when signalled SIGINT
1 parent 47fdbf3 commit 0d4f2da

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

afl-cmin

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,19 @@ BEGIN {
397397
cur = 0;
398398
if (!stdin_file) {
399399
print " Processing "in_count" files (forkserver mode)..."
400-
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)
400+
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)
401401
} else {
402402
print " Processing "in_count" files (forkserver mode)..."
403-
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")
403+
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")
404+
}
405+
406+
if (retval > 127) {
407+
retval = retval - 128
408+
if (retval > 127) {
409+
retval = retval - 128
410+
}
411+
printf "[!]Signal %d received, terminating...\n", retval
412+
exit 1
404413
}
405414
406415
#######################################################

0 commit comments

Comments
 (0)