mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-16 11:58:08 +00:00
make dominik more happy - no auto map size for qemu+unicorn
This commit is contained in:
@ -1169,8 +1169,8 @@ void __sanitizer_cov_trace_pc_guard_init(uint32_t *start, uint32_t *stop) {
|
|||||||
|
|
||||||
if (getenv("AFL_DEBUG")) {
|
if (getenv("AFL_DEBUG")) {
|
||||||
|
|
||||||
fprintf(stderr, "Running __sanitizer_cov_trace_pc_guard_init: %p-%p\n",
|
fprintf(stderr, "Running __sanitizer_cov_trace_pc_guard_init: %p-%p (%lu edges)\n",
|
||||||
start, stop);
|
start, stop, stop - start);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1536,7 +1536,8 @@ int main(int argc, char **argv_orig, char **envp) {
|
|||||||
afl->fsrv.trace_bits =
|
afl->fsrv.trace_bits =
|
||||||
afl_shm_init(&afl->shm, afl->fsrv.map_size, afl->non_instrumented_mode);
|
afl_shm_init(&afl->shm, afl->fsrv.map_size, afl->non_instrumented_mode);
|
||||||
|
|
||||||
if (!afl->non_instrumented_mode) {
|
if (!afl->non_instrumented_mode && !afl->fsrv.qemu_mode &&
|
||||||
|
!afl->unicorn_mode) {
|
||||||
|
|
||||||
afl->fsrv.map_size = 4194304; // dummy temporary value
|
afl->fsrv.map_size = 4194304; // dummy temporary value
|
||||||
|
|
||||||
|
@ -1068,38 +1068,43 @@ int main(int argc, char **argv_orig, char **envp) {
|
|||||||
fsrv->shmem_fuzz_len = (u32 *)map;
|
fsrv->shmem_fuzz_len = (u32 *)map;
|
||||||
fsrv->shmem_fuzz = map + sizeof(u32);
|
fsrv->shmem_fuzz = map + sizeof(u32);
|
||||||
|
|
||||||
u32 save_be_quiet = be_quiet;
|
if (!fsrv->qemu_mode && !unicorn_mode) {
|
||||||
be_quiet = !debug;
|
|
||||||
fsrv->map_size = 4194304; // dummy temporary value
|
|
||||||
u32 new_map_size = afl_fsrv_get_mapsize(
|
|
||||||
fsrv, use_argv, &stop_soon,
|
|
||||||
(get_afl_env("AFL_DEBUG_CHILD") || get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
|
|
||||||
? 1
|
|
||||||
: 0);
|
|
||||||
be_quiet = save_be_quiet;
|
|
||||||
|
|
||||||
if (new_map_size) {
|
u32 save_be_quiet = be_quiet;
|
||||||
|
be_quiet = !debug;
|
||||||
|
fsrv->map_size = 4194304; // dummy temporary value
|
||||||
|
u32 new_map_size =
|
||||||
|
afl_fsrv_get_mapsize(fsrv, use_argv, &stop_soon,
|
||||||
|
(get_afl_env("AFL_DEBUG_CHILD") ||
|
||||||
|
get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
|
||||||
|
? 1
|
||||||
|
: 0);
|
||||||
|
be_quiet = save_be_quiet;
|
||||||
|
|
||||||
// only reinitialize when it makes sense
|
if (new_map_size) {
|
||||||
if (map_size < new_map_size ||
|
|
||||||
(new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
|
|
||||||
|
|
||||||
if (!be_quiet)
|
// only reinitialize when it makes sense
|
||||||
ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
|
if (map_size < new_map_size ||
|
||||||
|
(new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
|
||||||
|
|
||||||
afl_shm_deinit(&shm);
|
if (!be_quiet)
|
||||||
afl_fsrv_kill(fsrv);
|
ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
|
||||||
fsrv->map_size = new_map_size;
|
|
||||||
fsrv->trace_bits = afl_shm_init(&shm, new_map_size, 0);
|
afl_shm_deinit(&shm);
|
||||||
|
afl_fsrv_kill(fsrv);
|
||||||
|
fsrv->map_size = new_map_size;
|
||||||
|
fsrv->trace_bits = afl_shm_init(&shm, new_map_size, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
map_size = new_map_size;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
map_size = new_map_size;
|
fsrv->map_size = map_size;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fsrv->map_size = map_size;
|
|
||||||
|
|
||||||
if (in_dir) {
|
if (in_dir) {
|
||||||
|
|
||||||
DIR * dir_in, *dir_out = NULL;
|
DIR * dir_in, *dir_out = NULL;
|
||||||
|
@ -1199,39 +1199,52 @@ int main(int argc, char **argv_orig, char **envp) {
|
|||||||
|
|
||||||
read_initial_file();
|
read_initial_file();
|
||||||
|
|
||||||
fsrv->map_size = 4194304; // dummy temporary value
|
if (!fsrv->qemu_mode && !unicorn_mode) {
|
||||||
u32 new_map_size = afl_fsrv_get_mapsize(
|
|
||||||
fsrv, use_argv, &stop_soon,
|
|
||||||
(get_afl_env("AFL_DEBUG_CHILD") || get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
|
|
||||||
? 1
|
|
||||||
: 0);
|
|
||||||
|
|
||||||
if (new_map_size) {
|
fsrv->map_size = 4194304; // dummy temporary value
|
||||||
|
u32 new_map_size =
|
||||||
|
afl_fsrv_get_mapsize(fsrv, use_argv, &stop_soon,
|
||||||
|
(get_afl_env("AFL_DEBUG_CHILD") ||
|
||||||
|
get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
|
||||||
|
? 1
|
||||||
|
: 0);
|
||||||
|
|
||||||
if (map_size < new_map_size ||
|
if (new_map_size) {
|
||||||
(new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
|
|
||||||
|
|
||||||
if (!be_quiet)
|
if (map_size < new_map_size ||
|
||||||
ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
|
(new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
|
||||||
|
|
||||||
afl_shm_deinit(&shm);
|
if (!be_quiet)
|
||||||
afl_fsrv_kill(fsrv);
|
ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
|
||||||
fsrv->map_size = new_map_size;
|
|
||||||
fsrv->trace_bits = afl_shm_init(&shm, new_map_size, 0);
|
afl_shm_deinit(&shm);
|
||||||
afl_fsrv_start(fsrv, use_argv, &stop_soon,
|
afl_fsrv_kill(fsrv);
|
||||||
(get_afl_env("AFL_DEBUG_CHILD") ||
|
fsrv->map_size = new_map_size;
|
||||||
get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
|
fsrv->trace_bits = afl_shm_init(&shm, new_map_size, 0);
|
||||||
? 1
|
afl_fsrv_start(fsrv, use_argv, &stop_soon,
|
||||||
: 0);
|
(get_afl_env("AFL_DEBUG_CHILD") ||
|
||||||
|
get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
|
||||||
|
? 1
|
||||||
|
: 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
map_size = new_map_size;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
map_size = new_map_size;
|
fsrv->map_size = map_size;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
afl_fsrv_start(fsrv, use_argv, &stop_soon,
|
||||||
|
(get_afl_env("AFL_DEBUG_CHILD") ||
|
||||||
|
get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
|
||||||
|
? 1
|
||||||
|
: 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fsrv->map_size = map_size;
|
|
||||||
|
|
||||||
if (fsrv->support_shmem_fuzz && !fsrv->use_shmem_fuzz)
|
if (fsrv->support_shmem_fuzz && !fsrv->use_shmem_fuzz)
|
||||||
shm_fuzz = deinit_shmem(fsrv, shm_fuzz);
|
shm_fuzz = deinit_shmem(fsrv, shm_fuzz);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user