From ab142282a32f93725926d59899ab17a62e65f060 Mon Sep 17 00:00:00 2001 From: van Hauser Date: Sun, 14 Jun 2020 16:08:58 +0200 Subject: kill targets on exit --- src/afl-fuzz.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/afl-fuzz.c') diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 46862613..b84585bb 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -31,6 +31,23 @@ extern u64 time_spent_working; #endif +static void at_exit() { + + int i; + char *ptr = getenv("__AFL_TARGET_PID1"); + + if (ptr && *ptr && (i = atoi(ptr)) > 0) + kill(i, SIGKILL); + + ptr = getenv("__AFL_TARGET_PID2"); + + if (ptr && *ptr && (i = atoi(ptr)) > 0) + kill(i, SIGKILL); + + // anything else? shared memory? + +} + static u8 *get_libradamsa_path(u8 *own_loc) { u8 *tmp, *cp, *rsl, *own_copy; @@ -1242,6 +1259,8 @@ int main(int argc, char **argv_orig, char **envp) { OKF("Cmplog forkserver successfully started"); } + + atexit(at_exit); perform_dry_run(afl); -- cgit 1.4.1