about summary refs log tree commit diff
path: root/src/afl-fuzz.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-08-10 13:03:59 +0200
committervan Hauser <vh@thc.org>2020-08-10 13:03:59 +0200
commit9c953ab51ff22b2fc3e1b73e6563211e7676b62e (patch)
tree7c945162e2f8a6eec1bca944308866f521c8f33f /src/afl-fuzz.c
parentf181a8307b9544a24e2c737e748e9ff34e8620e1 (diff)
downloadafl++-9c953ab51ff22b2fc3e1b73e6563211e7676b62e.tar.gz
memory grab at startup to prevent crashes
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r--src/afl-fuzz.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 2b9af94c..5cdd0292 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1305,6 +1305,17 @@ int main(int argc, char **argv_orig, char **envp) {
 
     OKF("Taint forkserver successfully started");
 
+#define BUF_PARAMS(name) (void **)&afl->name##_buf, &afl->name##_size
+    u8 *tmp1 = ck_maybe_grow(BUF_PARAMS(eff), MAX_FILE + 4096);
+    u8 *tmp2 = ck_maybe_grow(BUF_PARAMS(ex), MAX_FILE + 4096);
+    u8 *tmp3 = ck_maybe_grow(BUF_PARAMS(in_scratch), MAX_FILE + 4096);
+    u8 *tmp4 = ck_maybe_grow(BUF_PARAMS(out), MAX_FILE + 4096);
+    u8 *tmp5 = ck_maybe_grow(BUF_PARAMS(out_scratch), MAX_FILE + 4096);
+#undef BUF_PARAMS
+
+    if (!tmp1 || !tmp2 || !tmp3 || !tmp4 || !tmp5)
+      FATAL("memory issues. me hungry, feed me!");
+
   }
 
   perform_dry_run(afl);