aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-08-15 13:34:51 +0200
committervan Hauser <vh@thc.org>2020-08-15 13:34:51 +0200
commit0a251f93e0842c92755e9bcba61e520669a6c2e6 (patch)
treefd715c8567ed5141a0a03b62de6cb85aeac29f44
parent1cf473848789b340134b68b02d793c6d90f746a8 (diff)
downloadafl++-0a251f93e0842c92755e9bcba61e520669a6c2e6.tar.gz
increase initial memory sized
-rw-r--r--docs/Changelog.md2
-rw-r--r--examples/aflpp_driver/aflpp_driver.c1
-rw-r--r--include/config.h10
-rw-r--r--llvm_mode/afl-llvm-rt.o.c12
4 files changed, 11 insertions, 14 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 3c28ff98..ea7c7caf 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -12,6 +12,8 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
### Version ++2.66d (devel)
- Support for improved afl++ snapshot module:
https://github.com/AFLplusplus/AFL-Snapshot-LKM
+ - Due to the instrumentation needing more memory, the initial memory sizes
+ for -m have been increased
- afl-fuzz:
- added -F option to allow -M main fuzzers to sync to foreign fuzzers,
e.g. honggfuzz or libfuzzer
diff --git a/examples/aflpp_driver/aflpp_driver.c b/examples/aflpp_driver/aflpp_driver.c
index b764338e..ff5446e9 100644
--- a/examples/aflpp_driver/aflpp_driver.c
+++ b/examples/aflpp_driver/aflpp_driver.c
@@ -109,7 +109,6 @@ If 1, close stdout at startup. If 2 close stderr; if 3 close both.
int __afl_sharedmem_fuzzing = 1;
extern unsigned int * __afl_fuzz_len;
extern unsigned char *__afl_fuzz_ptr;
-// extern struct cmp_map *__afl_cmp_map;
// libFuzzer interface is thin, so we don't include any libFuzzer headers.
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size);
diff --git a/include/config.h b/include/config.h
index 344a368f..a978a27c 100644
--- a/include/config.h
+++ b/include/config.h
@@ -70,21 +70,21 @@
#ifndef __NetBSD__
#ifndef WORD_SIZE_64
- #define MEM_LIMIT 25
- #else
#define MEM_LIMIT 50
+ #else
+ #define MEM_LIMIT 75
#endif /* ^!WORD_SIZE_64 */
#else /* NetBSD's kernel needs more space for stack, see discussion for issue \
#165 */
- #define MEM_LIMIT 200
+ #define MEM_LIMIT 250
#endif
/* Default memory limit when running in QEMU mode (MB): */
-#define MEM_LIMIT_QEMU 200
+#define MEM_LIMIT_QEMU 250
/* Default memory limit when running in Unicorn mode (MB): */
-#define MEM_LIMIT_UNICORN 200
+#define MEM_LIMIT_UNICORN 250
/* Number of calibration cycles per every new test case (and for test
cases that show variable behavior): */
diff --git a/llvm_mode/afl-llvm-rt.o.c b/llvm_mode/afl-llvm-rt.o.c
index 5479c3da..a56b54b2 100644
--- a/llvm_mode/afl-llvm-rt.o.c
+++ b/llvm_mode/afl-llvm-rt.o.c
@@ -902,15 +902,11 @@ __attribute__((constructor(0))) void __afl_auto_first(void) {
if (getenv("AFL_DISABLE_LLVM_INSTRUMENTATION")) return;
u8 *ptr;
+ u32 get_size = __afl_final_loc ? __afl_final_loc : 1024000;
- if (__afl_final_loc > MAP_INITIAL_SIZE) {
-
- ptr = (u8 *)mmap(NULL, __afl_final_loc, PROT_READ | PROT_WRITE, MAP_PRIVATE,
- -1, 0);
-
- if (ptr && (ssize_t)ptr != -1) { __afl_area_ptr = ptr; }
-
- }
+ ptr = (u8 *)mmap(NULL, __afl_final_loc, PROT_READ | PROT_WRITE, MAP_PRIVATE,
+ -1, 0);
+ if (ptr && (ssize_t)ptr != -1) { __afl_area_ptr = ptr; }
}