diff options
Diffstat (limited to 'qemu_mode')
-rw-r--r-- | qemu_mode/patches/afl-qemu-cpu-inl.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/qemu_mode/patches/afl-qemu-cpu-inl.h b/qemu_mode/patches/afl-qemu-cpu-inl.h index ec8ce735..73be87ce 100644 --- a/qemu_mode/patches/afl-qemu-cpu-inl.h +++ b/qemu_mode/patches/afl-qemu-cpu-inl.h @@ -272,6 +272,8 @@ static void afl_forkserver(CPUState *cpu) { if (write(FORKSRV_FD + 1, tmp, 4) != 4) return; afl_forksrv_pid = getpid(); + + int first_run = 1; /* All right, let's await orders... */ @@ -349,6 +351,8 @@ static void afl_forkserver(CPUState *cpu) { again. */ if (WIFSTOPPED(status)) child_stopped = 1; + else if(unlikely(first_run)) exit(12); // Persistent is wrong + first_run = 0; if (write(FORKSRV_FD + 1, &status, 4) != 4) exit(7); |