about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2024-05-14 12:48:16 +0200
committerGitHub <noreply@github.com>2024-05-14 12:48:16 +0200
commit81609a0f42e9ad688a62033255fa9ba92e7dd08b (patch)
treea14b10ebbbe747b120c7c633c74dfe3d7e2d7cd9
parent938edab25f97a4bfddc2d7cbc6de79a11f455802 (diff)
parent5ee5564ae2981f83c76d42d2c6abd9ce88bc7a17 (diff)
downloadafl++-81609a0f42e9ad688a62033255fa9ba92e7dd08b.tar.gz
Merge pull request #2089 from nj00001/dev
Fix afl-fuzz -G option not configuring maximum input data size for nyx
-rw-r--r--include/forkserver.h2
-rw-r--r--src/afl-forkserver.c2
-rw-r--r--src/afl-fuzz.c3
3 files changed, 5 insertions, 2 deletions
diff --git a/include/forkserver.h b/include/forkserver.h
index 68907376..593e34a2 100644
--- a/include/forkserver.h
+++ b/include/forkserver.h
@@ -188,6 +188,8 @@ typedef struct afl_forkserver {
 
   u8 persistent_mode;
 
+  u32 max_length;
+
 #ifdef __linux__
   nyx_plugin_handler_t *nyx_handlers;
   char                 *out_dir_path;    /* path to the output directory     */
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index e5f64c81..beb6bdeb 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -578,7 +578,7 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
     void *nyx_config = fsrv->nyx_handlers->nyx_config_load(fsrv->target_path);
 
     fsrv->nyx_handlers->nyx_config_set_workdir_path(nyx_config, workdir_path);
-    fsrv->nyx_handlers->nyx_config_set_input_buffer_size(nyx_config, MAX_FILE);
+    fsrv->nyx_handlers->nyx_config_set_input_buffer_size(nyx_config, fsrv->max_length);
     fsrv->nyx_handlers->nyx_config_set_input_buffer_write_protection(nyx_config,
                                                                      true);
 
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index bb9c270f..1f0037ba 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1805,7 +1805,8 @@ int main(int argc, char **argv_orig, char **envp) {
   afl_realloc(AFL_BUF_PARAM(ex), min_alloc);
 
   afl->fsrv.use_fauxsrv = afl->non_instrumented_mode == 1 || afl->no_forkserver;
-
+  afl->fsrv.max_length = afl->max_length;
+   
   #ifdef __linux__
   if (!afl->fsrv.nyx_mode) {