aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-12-18 10:20:43 +0100
committervan Hauser <vh@thc.org>2020-12-18 10:20:43 +0100
commitea9db86bb86341e4e2b53c46204e3f86496e6ab9 (patch)
treeeff8e6ff55dcf61227bce17d6a6f245cf5888c24
parent4ff9eb0e67cc70c8f9415fa5bc4df10916fb6f4c (diff)
downloadafl++-ea9db86bb86341e4e2b53c46204e3f86496e6ab9.tar.gz
mem error fix
-rw-r--r--include/afl-fuzz.h3
-rw-r--r--instrumentation/afl-compiler-rt.o.c4
-rw-r--r--src/afl-forkserver.c4
3 files changed, 6 insertions, 5 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index 3acb6b93..99647c5b 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -1022,7 +1022,7 @@ u32 count_bytes(afl_state_t *, u8 *);
u32 count_non_255_bytes(afl_state_t *, u8 *);
void simplify_trace(afl_state_t *, u8 *);
void classify_counts(afl_forkserver_t *);
-u8 has_new_bits_unclassified(afl_state_t *, u8 *);
+void discover_word(u8 *ret, u64 *current, u64 *virgin);
void init_count_class16(void);
void minimize_bits(afl_state_t *, u8 *, u8 *);
#ifndef SIMPLE_FILES
@@ -1030,6 +1030,7 @@ u8 *describe_op(afl_state_t *, u8, size_t);
#endif
u8 save_if_interesting(afl_state_t *, void *, u32, u8);
u8 has_new_bits(afl_state_t *, u8 *);
+u8 has_new_bits_unclassified(afl_state_t *, u8 *);
/* Extras */
diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c
index b1df26db..cddde87c 100644
--- a/instrumentation/afl-compiler-rt.o.c
+++ b/instrumentation/afl-compiler-rt.o.c
@@ -236,8 +236,8 @@ static void __afl_map_shm(void) {
if (__afl_final_loc) {
- if (__afl_final_loc % 8)
- __afl_final_loc = (((__afl_final_loc + 7) >> 3) << 3);
+ if (__afl_final_loc % 32)
+ __afl_final_loc = (((__afl_final_loc + 31) >> 5) << 5);
__afl_map_size = __afl_final_loc;
if (__afl_final_loc > MAP_SIZE) {
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 3afb94be..90fa55e9 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -641,11 +641,11 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
if (!fsrv->map_size) { fsrv->map_size = MAP_SIZE; }
- if (unlikely(tmp_map_size % 8)) {
+ if (unlikely(tmp_map_size % 32)) {
// should not happen
WARNF("Target reported non-aligned map size of %u", tmp_map_size);
- tmp_map_size = (((tmp_map_size + 8) >> 3) << 3);
+ tmp_map_size = (((tmp_map_size + 31) >> 5) << 5);
}