diff options
author | van Hauser <vh@thc.org> | 2024-07-24 14:50:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-24 14:50:57 +0200 |
commit | db23931e7c1727ddac8691a6241c97b2203ec6fc (patch) | |
tree | 7b3c3bcb8db3aa3e42835edf27be5baea1097c42 /frida_mode/src | |
parent | 19ca7b3761f5abff8b72770d6bbfbde80ef5b985 (diff) | |
parent | 6e37f9b237ed12193688c86b6a527f32793f157e (diff) | |
download | afl++-db23931e7c1727ddac8691a6241c97b2203ec6fc.tar.gz |
Merge pull request #2172 from AFLplusplus/dev
push to stable
Diffstat (limited to 'frida_mode/src')
-rw-r--r-- | frida_mode/src/asan/asan_arm64.c | 8 | ||||
-rw-r--r-- | frida_mode/src/instrument/instrument_coverage.c | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/frida_mode/src/asan/asan_arm64.c b/frida_mode/src/asan/asan_arm64.c index 94729939..c1d5c10f 100644 --- a/frida_mode/src/asan/asan_arm64.c +++ b/frida_mode/src/asan/asan_arm64.c @@ -39,15 +39,15 @@ static void asan_callout(GumCpuContext *ctx, gpointer user_data) { address = base + index + mem->disp; - if ((operand->access & CS_AC_READ) == CS_AC_READ) { + if ((operand->access & CS_AC_WRITE) == CS_AC_WRITE) { - asan_loadN(address, asan_ctx->size); + asan_storeN(address, asan_ctx->size); } - if ((operand->access & CS_AC_WRITE) == CS_AC_WRITE) { + if ((operand->access & CS_AC_READ) == CS_AC_READ) { - asan_storeN(address, asan_ctx->size); + asan_loadN(address, asan_ctx->size); } diff --git a/frida_mode/src/instrument/instrument_coverage.c b/frida_mode/src/instrument/instrument_coverage.c index ff2f4024..a546dc24 100644 --- a/frida_mode/src/instrument/instrument_coverage.c +++ b/frida_mode/src/instrument/instrument_coverage.c @@ -818,6 +818,9 @@ void instrument_coverage_unstable_find_output(void) { GDir *dir = g_dir_open(fds_name, 0, NULL); + gchar *path_tmp = getenv("AFL_CUSTOM_INFO_OUT"); + gchar *instance_name = g_path_get_basename(path_tmp); + FVERBOSE("Coverage Unstable - fds: %s", fds_name); for (const gchar *filename = g_dir_read_name(dir); filename != NULL; @@ -829,7 +832,7 @@ void instrument_coverage_unstable_find_output(void) { if (link == NULL) { FFATAL("Failed to read link: %s", fullname); } gchar *basename = g_path_get_basename(link); - if (g_strcmp0(basename, "default") != 0) { + if (g_strcmp0(basename, instance_name) != 0) { g_free(basename); g_free(link); @@ -874,6 +877,8 @@ void instrument_coverage_unstable_find_output(void) { } g_dir_close(dir); + g_free(instance_name); + g_free(path_tmp); g_free(fds_name); if (unstable_coverage_fuzzer_stats == NULL) { |