diff options
author | van Hauser <vh@thc.org> | 2022-11-18 12:30:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-18 12:30:44 +0100 |
commit | f667279b7014add9fa5c263f4776b38cbf12ea42 (patch) | |
tree | 771aaf881a9ff25b3af0a91c371ec9f971602617 | |
parent | 26a5bd625ccbd8de4fbc9b5eea263d092bd405e5 (diff) | |
parent | d7e788a3c0138637147621cc4d6ab8087e0af956 (diff) | |
download | afl++-f667279b7014add9fa5c263f4776b38cbf12ea42.tar.gz |
Merge pull request #1583 from kobrineli/fix-argv-fuzz
Fix argv-fuzz.
-rw-r--r-- | utils/argv_fuzzing/argv-fuzz-inl.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/utils/argv_fuzzing/argv-fuzz-inl.h b/utils/argv_fuzzing/argv-fuzz-inl.h index c15c0271..e350dd4e 100644 --- a/utils/argv_fuzzing/argv-fuzz-inl.h +++ b/utils/argv_fuzzing/argv-fuzz-inl.h @@ -34,6 +34,7 @@ #ifndef _HAVE_ARGV_FUZZ_INL #define _HAVE_ARGV_FUZZ_INL +#include <stdlib.h> #include <unistd.h> #define AFL_INIT_ARGV() \ @@ -63,7 +64,12 @@ static char **afl_init_argv(int *argc) { char *ptr = in_buf; int rc = 0; - if (read(0, in_buf, MAX_CMDLINE_LEN - 2) < 0) {} + ssize_t num = read(0, in_buf, MAX_CMDLINE_LEN - 2); + if (num < 0) { + exit(1); + } + in_buf[num] = '\0'; + in_buf[num + 1] = '\0'; while (*ptr && rc < MAX_CMDLINE_PAR) { |