about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2024-07-21 21:01:04 +0200
committerGitHub <noreply@github.com>2024-07-21 21:01:04 +0200
commit09f1854cd16af17141130339ef2d508aeaf172b0 (patch)
treee7ed674a0e510fe6fbb5efafdae393b56e832763
parentbbcb3dd53e0d69972fd10247337b7f1ee03c4abd (diff)
parent4a6b751b93c135ac524bcad6e9d223e144fe0bd3 (diff)
downloadafl++-09f1854cd16af17141130339ef2d508aeaf172b0.tar.gz
Merge pull request #2165 from meowmeowxw/fix-fasan-arm64
Fix FASAN operand access on aarch64
-rw-r--r--frida_mode/src/asan/asan_arm64.c8
1 files changed, 4 insertions, 4 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);
 
   }