about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-28 16:18:06 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-28 16:18:06 +0200
commit84626f065ca1502e0524e5f54e45f333bc910f65 (patch)
tree85b68c3eb5efb7dfa2ea56cd09c753cb2e85afa5 /src
parenteaedda8cebbefc9106b4d2c2c7b5d5105cae2a37 (diff)
downloadbox64-84626f065ca1502e0524e5f54e45f333bc910f65.tar.gz
box64-84626f065ca1502e0524e5f54e45f333bc910f65.zip
[DYNAREC] Try toavoid segfault when exploring code for a native call building dynablock (for #73)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_functions.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_arm64_functions.c b/src/dynarec/dynarec_arm64_functions.c
index 12947c94..ce8a7f55 100755
--- a/src/dynarec/dynarec_arm64_functions.c
+++ b/src/dynarec/dynarec_arm64_functions.c
@@ -331,7 +331,7 @@ int isNativeCall(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t* calladdress, int
         uintptr_t a1 = addr + 6 + (PK32(2));    // need to add a check to see if the address is from the GOT !
         addr = *(uintptr_t*)a1; 
     }
-    if(addr<0x20000)    // too low, that is suspicious
+    if(!addr || !getProtection(addr))
         return 0;
     onebridge_t *b = (onebridge_t*)(addr);
     if(b->CC==0xCC && b->S=='S' && b->C=='C' && b->w!=(wrapper_t)0 && b->f!=(uintptr_t)PltResolver) {