diff options
-rw-r--r-- | src/afl-showmap.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/afl-showmap.c b/src/afl-showmap.c index b1b548e5..0de798fe 100644 --- a/src/afl-showmap.c +++ b/src/afl-showmap.c @@ -515,11 +515,10 @@ static void showmap_run_target(afl_forkserver_t *fsrv, char **argv) { it.it_value.tv_sec = (fsrv->exec_tmout / 1000); it.it_value.tv_usec = (fsrv->exec_tmout % 1000) * 1000; - } - - signal(SIGALRM, kill_child); + signal(SIGALRM, kill_child); - setitimer(ITIMER_REAL, &it, NULL); + setitimer(ITIMER_REAL, &it, NULL); + } if (waitpid(fsrv->child_pid, &status, 0) <= 0) { FATAL("waitpid() failed"); } @@ -1016,6 +1015,11 @@ int main(int argc, char **argv_orig, char **envp) { } + } else { + // The forkserver code does not have a way to completely + // disable the timeout, so we'll use a very, very long + // timeout instead. + fsrv->exec_tmout = 120 * 1000; } break; |