aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-02-01 13:04:39 +0100
committervan Hauser <vh@thc.org>2021-02-01 13:04:39 +0100
commit88155d2c3b86aa2b042e57481939cf2a7d3b02f4 (patch)
tree8fe8cfc89a85781e586c63fbd1cbf0ba475e40e5 /src
parentd808a8401e1acbcde3352d86e9e2da3f7bac97e8 (diff)
downloadafl++-88155d2c3b86aa2b042e57481939cf2a7d3b02f4.tar.gz
make dominik more happy - no auto map size for qemu+unicorn
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz.c3
-rw-r--r--src/afl-showmap.c57
-rw-r--r--src/afl-tmin.c67
3 files changed, 73 insertions, 54 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 49733594..edcc14d6 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1536,7 +1536,8 @@ int main(int argc, char **argv_orig, char **envp) {
afl->fsrv.trace_bits =
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
diff --git a/src/afl-showmap.c b/src/afl-showmap.c
index 56091357..c424cdf3 100644
--- a/src/afl-showmap.c
+++ b/src/afl-showmap.c
@@ -1068,38 +1068,43 @@ int main(int argc, char **argv_orig, char **envp) {
fsrv->shmem_fuzz_len = (u32 *)map;
fsrv->shmem_fuzz = map + sizeof(u32);
- 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;
-
- if (new_map_size) {
-
- // only reinitialize when it makes sense
- if (map_size < new_map_size ||
- (new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
-
- if (!be_quiet)
- ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
-
- 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);
+ if (!fsrv->qemu_mode && !unicorn_mode) {
+
+ 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;
+
+ if (new_map_size) {
+
+ // only reinitialize when it makes sense
+ if (map_size < new_map_size ||
+ (new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
+
+ if (!be_quiet)
+ ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
+
+ 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) {
DIR * dir_in, *dir_out = NULL;
diff --git a/src/afl-tmin.c b/src/afl-tmin.c
index 799a4b87..15336959 100644
--- a/src/afl-tmin.c
+++ b/src/afl-tmin.c
@@ -1199,38 +1199,51 @@ int main(int argc, char **argv_orig, char **envp) {
read_initial_file();
- 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 (new_map_size) {
-
- if (map_size < new_map_size ||
- (new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
-
- if (!be_quiet)
- ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
-
- 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);
- afl_fsrv_start(fsrv, use_argv, &stop_soon,
- (get_afl_env("AFL_DEBUG_CHILD") ||
- get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
- ? 1
- : 0);
+ if (!fsrv->qemu_mode && !unicorn_mode) {
+
+ 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 (new_map_size) {
+
+ if (map_size < new_map_size ||
+ (new_map_size > map_size && new_map_size - map_size > MAP_SIZE)) {
+
+ if (!be_quiet)
+ ACTF("Aquired new map size for target: %u bytes\n", new_map_size);
+
+ 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);
+ afl_fsrv_start(fsrv, use_argv, &stop_soon,
+ (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 {
- fsrv->map_size = map_size;
+ afl_fsrv_start(fsrv, use_argv, &stop_soon,
+ (get_afl_env("AFL_DEBUG_CHILD") ||
+ get_afl_env("AFL_DEBUG_CHILD_OUTPUT"))
+ ? 1
+ : 0);
+
+ }
if (fsrv->support_shmem_fuzz && !fsrv->use_shmem_fuzz)
shm_fuzz = deinit_shmem(fsrv, shm_fuzz);