aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/src
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2024-07-24 14:50:57 +0200
committerGitHub <noreply@github.com>2024-07-24 14:50:57 +0200
commitdb23931e7c1727ddac8691a6241c97b2203ec6fc (patch)
tree7b3c3bcb8db3aa3e42835edf27be5baea1097c42 /frida_mode/src
parent19ca7b3761f5abff8b72770d6bbfbde80ef5b985 (diff)
parent6e37f9b237ed12193688c86b6a527f32793f157e (diff)
downloadafl++-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.c8
-rw-r--r--frida_mode/src/instrument/instrument_coverage.c7
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) {