aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Maier <domenukk@gmail.com>2020-04-01 01:24:44 +0200
committerDominik Maier <domenukk@gmail.com>2020-04-01 01:24:44 +0200
commitd73e63bd70d9c857373692365f8efb0f65f13b25 (patch)
tree2aa1d607573a033a0cde71dbd3294906e0e6b4ac
parentd0d5518ea893b62c96d26e48a444fd33af56d27c (diff)
downloadafl++-d73e63bd70d9c857373692365f8efb0f65f13b25.tar.gz
try to fix forkserver
-rw-r--r--Makefile4
-rw-r--r--src/afl-forkserver.c9
2 files changed, 9 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index aaeb136c..f615c7dd 100644
--- a/Makefile
+++ b/Makefile
@@ -153,8 +153,8 @@ endif
ifdef ASAN_BUILD
$(info Compiling ASAN version of binaries)
- CFLAGS+=-fsanitize=address
- LDFLAGS+=-fsanitize=address
+ CFLAGS+=-fsanitize=address -fstack-protector-strong
+ LDFLAGS+=-fsanitize=address -fstack-protector-strong
endif
ifdef PROFILING
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 962ca86d..a863efcc 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -319,10 +319,15 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv) {
u32 time = read_timed(fsrv->fsrv_st_fd, &status, rlen,
fsrv->exec_tmout * FORK_WAIT_MULT);
- if (!time) {
+ if (time > fsrv->exec_tmout * FORK_WAIT_MULT) {
fsrv->child_timed_out = 1;
- kill(fsrv->child_pid, SIGKILL);
+ kill(fsrv->fsrv_pid, SIGKILL);
+
+ }
+ if (!time) {
+
+ kill(fsrv->fsrv_pid, SIGKILL);
}