From 84626f065ca1502e0524e5f54e45f333bc910f65 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 28 Jul 2021 16:18:06 +0200 Subject: [DYNAREC] Try toavoid segfault when exploring code for a native call building dynablock (for #73) --- src/dynarec/dynarec_arm64_functions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) { -- cgit 1.4.1