diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-common.c | 6 | ||||
-rw-r--r-- | src/afl-showmap.c | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/afl-common.c b/src/afl-common.c index ffc32533..c9f09d38 100644 --- a/src/afl-common.c +++ b/src/afl-common.c @@ -374,9 +374,13 @@ u8 *find_binary(u8 *fname) { target_path = ck_strdup(fname); if (stat(target_path, &st) || !S_ISREG(st.st_mode) || - !(st.st_mode & 0111) || st.st_size < 4) + !(st.st_mode & 0111) || st.st_size < 4) { + + free(target_path); FATAL("Program '%s' not found or not executable", fname); + } + } else { while (env_path) { diff --git a/src/afl-showmap.c b/src/afl-showmap.c index f43beb1b..21e18061 100644 --- a/src/afl-showmap.c +++ b/src/afl-showmap.c @@ -877,6 +877,7 @@ int main(int argc, char **argv_orig, char **envp) { if (stdin_file) ck_free(stdin_file); argv_cpy_free(argv); + if (fsrv->qemu_mode) free(use_argv[2]); exit(ret); |