diff options
author | Dominik Maier <domenukk@gmail.com> | 2020-03-09 11:24:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-09 11:24:10 +0100 |
commit | dba3595c0ae26795a78753ea33ff0c3edf9d6328 (patch) | |
tree | 03bcaf132705d6de222ef8d6eff9b5bc2f03ce54 /src/afl-analyze.c | |
parent | c159b872ef17d4c09238f99ac11021e12975cb3a (diff) | |
download | afl++-dba3595c0ae26795a78753ea33ff0c3edf9d6328.tar.gz |
AFL without globals (#220)
* moved globals to afl, shm and fsrv * moved argv to afl state, less bugs * fixed unicorn docu * lists everywhere * merged custom mutators * fixed leaks in afl-fuzz
Diffstat (limited to 'src/afl-analyze.c')
-rw-r--r-- | src/afl-analyze.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/afl-analyze.c b/src/afl-analyze.c index 94c055a6..9e64a7a5 100644 --- a/src/afl-analyze.c +++ b/src/afl-analyze.c @@ -84,6 +84,8 @@ static volatile u8 stop_soon, /* Ctrl-C pressed? */ static u8 qemu_mode; +static u8 *target_path; + /* Constants used for describing byte behavior. */ #define RESP_NONE 0x00 /* Changing byte is a no-op. */ @@ -998,21 +1000,23 @@ int main(int argc, char** argv, char** envp) { use_hex_offsets = !!get_afl_env("AFL_ANALYZE_HEX"); check_environment_vars(envp); - setup_shm(0); + + sharedmem_t shm = {0}; + trace_bits = afl_shm_init(&shm, MAP_SIZE, 0); atexit(at_exit_handler); setup_signal_handlers(); set_up_environment(); find_binary(argv[optind]); - detect_file_args(argv + optind, prog_in); + detect_file_args(argv + optind, prog_in, use_stdin); if (qemu_mode) { if (use_wine) - use_argv = get_wine_argv(argv[0], argv + optind, argc - optind); + use_argv = get_wine_argv(argv[0], &target_path, argc - optind, argv + optind); else - use_argv = get_qemu_argv(argv[0], argv + optind, argc - optind); + use_argv = get_qemu_argv(argv[0], &target_path, argc - optind, argv + optind); } else @@ -1037,6 +1041,8 @@ int main(int argc, char** argv, char** envp) { OKF("We're done here. Have a nice day!\n"); + afl_shm_deinit(&shm); + exit(0); } |