about summary refs log tree commit diff
path: root/qemu_mode
diff options
context:
space:
mode:
Diffstat (limited to 'qemu_mode')
-rw-r--r--qemu_mode/patches/afl-qemu-cpu-inl.h4
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);