diff options
author | Andrea Fioraldi <andreafioraldi@gmail.com> | 2020-04-28 10:55:22 +0200 |
---|---|---|
committer | Andrea Fioraldi <andreafioraldi@gmail.com> | 2020-04-28 10:55:22 +0200 |
commit | 9276dc9e6c8a966c86aeef7ec6ebe6712c302615 (patch) | |
tree | da7cb3949465fd5d684e36258f1e8ec725801491 /qemu_mode/patches | |
parent | fbd9994f6f959def9c228b81711706bbc5be8cde (diff) | |
download | afl++-9276dc9e6c8a966c86aeef7ec6ebe6712c302615.tar.gz |
fix #329
Diffstat (limited to 'qemu_mode/patches')
-rw-r--r-- | qemu_mode/patches/afl-qemu-cpu-inl.h | 16 | ||||
-rw-r--r-- | qemu_mode/patches/syscall.diff | 11 |
2 files changed, 11 insertions, 16 deletions
diff --git a/qemu_mode/patches/afl-qemu-cpu-inl.h b/qemu_mode/patches/afl-qemu-cpu-inl.h index 06243141..6e9ddc3b 100644 --- a/qemu_mode/patches/afl-qemu-cpu-inl.h +++ b/qemu_mode/patches/afl-qemu-cpu-inl.h @@ -275,20 +275,6 @@ void afl_setup(void) { } -static void print_mappings(void) { - - u8 buf[MAX_LINE]; - FILE *f = fopen("/proc/self/maps", "r"); - - if (!f) return; - - while (fgets(buf, MAX_LINE, f)) - printf("%s", buf); - - fclose(f); - -} - /* Fork server logic, invoked once we hit _start. */ void afl_forkserver(CPUState *cpu) { @@ -299,7 +285,7 @@ void afl_forkserver(CPUState *cpu) { if (forkserver_installed == 1) return; forkserver_installed = 1; - if (getenv("AFL_QEMU_DEBUG_MAPS")) print_mappings(); + if (getenv("AFL_QEMU_DEBUG_MAPS")) open_self_maps(cpu->env_ptr, 0); // if (!afl_area_ptr) return; // not necessary because of fixed dummy buffer diff --git a/qemu_mode/patches/syscall.diff b/qemu_mode/patches/syscall.diff index 775fc9e0..b8c5ff39 100644 --- a/qemu_mode/patches/syscall.diff +++ b/qemu_mode/patches/syscall.diff @@ -1,5 +1,5 @@ diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index b13a170e..4af79175 100644 +index b13a170e..3f5cc902 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -111,6 +111,9 @@ @@ -43,6 +43,15 @@ index b13a170e..4af79175 100644 ts = (TaskState *)cpu->opaque; if (flags & CLONE_SETTLS) cpu_set_tls (env, newtls); +@@ -6554,7 +6558,7 @@ static int open_self_cmdline(void *cpu_env, int fd) + return 0; + } + +-static int open_self_maps(void *cpu_env, int fd) ++int open_self_maps(void *cpu_env, int fd) + { + CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env); + TaskState *ts = cpu->opaque; @@ -7324,10 +7328,12 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, #ifdef TARGET_NR_stime /* not on alpha */ case TARGET_NR_stime: |