Use a long timeout instead of 0 for afl-showmap -t none
@@ -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);
setitimer(ITIMER_REAL, &it, NULL);
+ }
if (waitpid(fsrv->child_pid, &status, 0) <= 0) { FATAL("waitpid() failed"); }
@@ -1015,7 +1014,12 @@ int main(int argc, char **argv_orig, char **envp) {
}
- } else { fsrv->exec_tmout = 0; }
+ } 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;
