diff options
author | vanhauser-thc <vh@thc.org> | 2021-10-23 20:54:24 +0200 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2021-10-23 20:54:24 +0200 |
commit | e03897a0703673aa0de7772185a5b5230641cb6a (patch) | |
tree | 6a7137d56fa0dd743fed4be96f7a1bc91354f158 /src/afl-analyze.c | |
parent | 06b23c7dcba0738266e85609f3fcadeb7c1b3560 (diff) | |
download | afl++-e03897a0703673aa0de7772185a5b5230641cb6a.tar.gz |
fix timeout bug in afl tools
Diffstat (limited to 'src/afl-analyze.c')
-rw-r--r-- | src/afl-analyze.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/afl-analyze.c b/src/afl-analyze.c index 8295488d..09b01541 100644 --- a/src/afl-analyze.c +++ b/src/afl-analyze.c @@ -120,6 +120,17 @@ static u8 count_class_lookup[256] = { #undef TIMES8 #undef TIMES4 +static void kill_child() { + + if (fsrv.child_pid > 0) { + + kill(fsrv.child_pid, fsrv.kill_signal); + fsrv.child_pid = -1; + + } + +} + static void classify_counts(u8 *mem) { u32 i = map_size; @@ -1053,6 +1064,7 @@ int main(int argc, char **argv_orig, char **envp) { fsrv.target_path = find_binary(argv[optind]); fsrv.trace_bits = afl_shm_init(&shm, map_size, 0); detect_file_args(argv + optind, fsrv.out_file, &use_stdin); + signal(SIGALRM, kill_child); if (qemu_mode) { |