diff options
author | vanhauser-thc <vh@thc.org> | 2021-03-17 13:16:02 +0100 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2021-03-17 13:16:02 +0100 |
commit | 94312796f936ba1830b61432a0f958e192dd212f (patch) | |
tree | 529c34297124ca9c25640036ab8e8eccaff6ac79 /src | |
parent | adeeed9e431e67b855ab93b32563e4851158b130 (diff) | |
download | afl++-94312796f936ba1830b61432a0f958e192dd212f.tar.gz |
better map variability
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-fuzz.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 8318a92e..ff4c5281 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -1584,12 +1584,14 @@ int main(int argc, char **argv_orig, char **envp) { afl->cmplog_fsrv.cmplog_binary = afl->cmplog_binary; afl->cmplog_fsrv.init_child_func = cmplog_exec_child; - if (map_size <= DEFAULT_SHMEM_SIZE && !afl->non_instrumented_mode && - !afl->fsrv.qemu_mode && !afl->unicorn_mode) { + if ((map_size <= DEFAULT_SHMEM_SIZE || + afl->cmplog_fsrv.map_size < map_size) && + !afl->non_instrumented_mode && !afl->fsrv.qemu_mode && + !afl->unicorn_mode) { - afl->fsrv.map_size = DEFAULT_SHMEM_SIZE; // dummy temporary value + afl->cmplog_fsrv.map_size = MAX(map_size, (u32)DEFAULT_SHMEM_SIZE); char vbuf[16]; - snprintf(vbuf, sizeof(vbuf), "%u", DEFAULT_SHMEM_SIZE); + snprintf(vbuf, sizeof(vbuf), "%u", afl->cmplog_fsrv.map_size); setenv("AFL_MAP_SIZE", vbuf, 1); } |