about summary refs log tree commit diff
path: root/src/afl-fuzz.c
diff options
context:
space:
mode:
authorDominik Maier <domenukk@gmail.com>2020-03-09 21:34:11 +0100
committerDominik Maier <domenukk@gmail.com>2020-03-09 21:34:11 +0100
commit1136e887bdf77ed64bd3eac28bf7f86705dd2a6d (patch)
tree2c7d0e877c1e6f4fb09e268ca0a194c41bc91f23 /src/afl-fuzz.c
parent416020daefb2587fe071a456e1dbb8ffbb007e6a (diff)
downloadafl++-1136e887bdf77ed64bd3eac28bf7f86705dd2a6d.tar.gz
now wiht 90% less leaks
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r--src/afl-fuzz.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 4b6ced7a..5df4088f 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -224,7 +224,7 @@ static int stricmp(char const* a, char const* b) {
 
 /* Main entry point */
 
-int main(int argc, char** argv, char** envp) {
+int main(int argc, char** argv_orig, char** envp) {
 
   s32    opt;
   u64    prev_queued = 0;
@@ -237,6 +237,8 @@ int main(int argc, char** argv, char** envp) {
   struct timeval  tv;
   struct timezone tz;
 
+  char **argv = argv_cpy_dup(argc, argv_orig);
+
   afl_state_t* afl = calloc(1, sizeof(afl_state_t));
   if (!afl) { FATAL("Could not create afl state"); }
 
@@ -1173,6 +1175,8 @@ stop_fuzzing:
   ck_free(afl->sync_id);
   ck_free(afl);
 
+  argv_cpy_free(argv);
+
   alloc_report();
 
   OKF("We're done here. Have a nice day!\n");