From b3ca09bd80d347c666322e82cd9216457d7a066c Mon Sep 17 00:00:00 2001 From: Anh <zenpoems@gmail.com> Date: Thu, 26 Jul 2018 16:20:53 +0000 Subject: [PATCH] Move fake bitmap allocation --- src/libzafl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libzafl.cpp b/src/libzafl.cpp index a53ab52..376a15d 100644 --- a/src/libzafl.cpp +++ b/src/libzafl.cpp @@ -55,6 +55,7 @@ void __attribute__((constructor)) zafl_initAflForkServer(); static void zafl_setupSharedMemory() { zafl_prev_id = 0; + zafl_trace_bits = NULL; char *shm_env_var = getenv(SHM_ENV_VAR); if(!shm_env_var) { @@ -76,11 +77,15 @@ void zafl_initAflForkServer() if (!shared_memory_is_setup) zafl_setupSharedMemory(); + if (!zafl_trace_bits) { + zafl_trace_bits = (u8*)malloc(MAP_SIZE); + printf("no shmem detected: fake it: zafl_trace_bits = %p, malloc_size(%d)\n", zafl_trace_bits, MAP_SIZE); + } + int n = write(FORKSRV_FD+1, &__afl_temp_data,4); if( n!=4 ) { PRINT_ERROR("Error writting fork server -- faking global memory\n"); perror("zafl_initAflForkServer()"); - zafl_trace_bits = (u8*)malloc(MAP_SIZE); printf("zafl_trace_bits = %p, FORKSVR_FD(%d)\n", zafl_trace_bits, FORKSRV_FD); return; } -- GitLab