diff options
author | vanhauser-thc <vh@thc.org> | 2021-06-01 11:19:49 +0200 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2021-06-01 11:19:49 +0200 |
commit | 07c3e47e6beae3e99637f501095bffb95be9f5da (patch) | |
tree | e7a87b49877e3b84e993abf25065b236a938685b /src | |
parent | 7e54c8d7f6ad7e07c5c442d2e92eed3da7c4add0 (diff) | |
download | afl++-07c3e47e6beae3e99637f501095bffb95be9f5da.tar.gz |
fixes
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-common.c | 12 | ||||
-rw-r--r-- | src/afl-fuzz-run.c | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/afl-common.c b/src/afl-common.c index 8826de70..c61ce3d8 100644 --- a/src/afl-common.c +++ b/src/afl-common.c @@ -479,9 +479,17 @@ void print_suggested_envs(char *mispelled_env) { size_t end = start + strcspn(afl_env + start, "_") + 1; memcpy(reduced, afl_env, start); - if (end < afl_env_len) + if (end < afl_env_len) { + memcpy(reduced + start, afl_env + end, afl_env_len - end); - reduced[afl_env_len - end + start] = 0; + + } + + if (afl_env_len + start >= end) { + + reduced[afl_env_len - end + start] = 0; + + } int distance = string_distance_levenshtein(reduced, env_name); if (distance < ENV_SIMILARITY_TRESHOLD && seen[j] == 0) { diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c index 7df4c625..2c3e8a1b 100644 --- a/src/afl-fuzz-run.c +++ b/src/afl-fuzz-run.c @@ -121,7 +121,7 @@ write_to_testcase(afl_state_t *afl, void *mem, u32 len) { }); /* everything as planned. use the potentially new data. */ - afl_fsrv_write_to_testcase(&afl->fsrv, new_buf, new_size); + afl_fsrv_write_to_testcase(&afl->fsrv, new_mem, new_size); } else { |