about summary refs log tree commit diff stats
path: root/src/dynarec/dynablock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynarec/dynablock.c')
-rw-r--r--src/dynarec/dynablock.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dynarec/dynablock.c b/src/dynarec/dynablock.c
index 4c703167..bfe10758 100644
--- a/src/dynarec/dynablock.c
+++ b/src/dynarec/dynablock.c
@@ -19,6 +19,7 @@
 #include "dynarec_private.h"
 #include "elfloader.h"
 #include "bridge.h"
+#include "signals.h"
 
 #include "dynarec_native.h"
 #include "native_lock.h"
@@ -198,6 +199,8 @@ static dynablock_t* internalDBGetBlock(x64emu_t* emu, uintptr_t addr, uintptr_t
 {
     if(hasAlternate((void*)addr))
         return NULL;
+    if((getProtection(addr)&(PROT_EXEC|PROT_READ))!=(PROT_EXEC|PROT_READ))  // cannot be run, get out of the Dynarec
+        return NULL;
     dynablock_t* block = getDB(addr);
     if(block || !create)
         return block;