From 28a176578172a572a03dfcbebf6479e3dcf69944 Mon Sep 17 00:00:00 2001 From: vanhauser-thc Date: Tue, 25 Jan 2022 12:41:22 +0100 Subject: fix atexit for rt --- instrumentation/afl-compiler-rt.o.c | 1 + 1 file changed, 1 insertion(+) (limited to 'instrumentation/afl-compiler-rt.o.c') diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c index a84f31e3..af8c3218 100644 --- a/instrumentation/afl-compiler-rt.o.c +++ b/instrumentation/afl-compiler-rt.o.c @@ -155,6 +155,7 @@ static int __afl_dummy_fd[2] = {2, 2}; static void at_exit(int signal) { if (child_pid > 0) { kill(child_pid, SIGKILL); } + _exit(0); } -- cgit 1.4.1 From 0fd6315dfb45dcc058dcf891efb8fb83eb1de225 Mon Sep 17 00:00:00 2001 From: vanhauser-thc Date: Tue, 25 Jan 2022 13:32:45 +0100 Subject: nit --- instrumentation/afl-compiler-rt.o.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'instrumentation/afl-compiler-rt.o.c') diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c index af8c3218..59839750 100644 --- a/instrumentation/afl-compiler-rt.o.c +++ b/instrumentation/afl-compiler-rt.o.c @@ -154,7 +154,13 @@ static int __afl_dummy_fd[2] = {2, 2}; static void at_exit(int signal) { - if (child_pid > 0) { kill(child_pid, SIGKILL); } + if (unlikely(child_pid > 0)) { + + kill(child_pid, SIGKILL); + child_pid = -1; + + } + _exit(0); } -- cgit 1.4.1