From 8090c82c6399cb7ad98abb84eca822f885544fbb Mon Sep 17 00:00:00 2001 From: Kuang-che Wu Date: Sat, 24 May 2025 23:36:54 +0800 Subject: [PATCH] fix resize afl->top_rated --- src/afl-fuzz.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 3b47369a..835506b5 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -2513,7 +2513,8 @@ int main(int argc, char **argv_orig, char **envp) { if (old_map_size < map_size) { memset(afl->var_bytes + old_map_size, 0, map_size - old_map_size); - memset(afl->top_rated + old_map_size, 0, map_size - old_map_size); + memset(afl->top_rated + old_map_size * sizeof(void *), 0, + (map_size - old_map_size) * sizeof(void *)); memset(afl->clean_trace + old_map_size, 0, map_size - old_map_size); memset(afl->clean_trace_custom + old_map_size, 0, map_size - old_map_size); @@ -2565,7 +2566,8 @@ int main(int argc, char **argv_orig, char **envp) { if (old_map_size < new_map_size) { memset(afl->var_bytes + old_map_size, 0, new_map_size - old_map_size); - memset(afl->top_rated + old_map_size, 0, new_map_size - old_map_size); + memset(afl->top_rated + old_map_size * sizeof(void *), 0, + (new_map_size - old_map_size) * sizeof(void *)); memset(afl->clean_trace + old_map_size, 0, new_map_size - old_map_size); memset(afl->clean_trace_custom + old_map_size, 0, new_map_size - old_map_size); @@ -2758,7 +2760,8 @@ int main(int argc, char **argv_orig, char **envp) { if (old_map_size < new_map_size) { memset(afl->var_bytes + old_map_size, 0, new_map_size - old_map_size); - memset(afl->top_rated + old_map_size, 0, new_map_size - old_map_size); + memset(afl->top_rated + old_map_size * sizeof(void *), 0, + (new_map_size - old_map_size) * sizeof(void *)); memset(afl->clean_trace + old_map_size, 0, new_map_size - old_map_size); memset(afl->clean_trace_custom + old_map_size, 0, new_map_size - old_map_size);