about summary refs log tree commit diff stats
path: root/src/dynarec/dynarec_native_pass.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-06-24 20:17:58 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-06-24 20:17:58 +0200
commit09e39704ae85c84622e55ed0eb7efb6cd2214401 (patch)
tree0162b19a5fcaef5926b2dd1d1dd30b46db9adfb1 /src/dynarec/dynarec_native_pass.c
parentf14fa2f2ce44a6cbee3fcef58faf742bce992a66 (diff)
downloadbox64-09e39704ae85c84622e55ed0eb7efb6cd2214401.tar.gz
box64-09e39704ae85c84622e55ed0eb7efb6cd2214401.zip
[DYNAREC] Better check of limit for a dynablock
Diffstat (limited to 'src/dynarec/dynarec_native_pass.c')
-rw-r--r--src/dynarec/dynarec_native_pass.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native_pass.c b/src/dynarec/dynarec_native_pass.c
index f7d02f13..5fdcc11b 100644
--- a/src/dynarec/dynarec_native_pass.c
+++ b/src/dynarec/dynarec_native_pass.c
@@ -256,7 +256,7 @@ uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr, int alternate, int
         }
         #else
         // check if block need to be stopped, because it's a 00 00 opcode (unreadeable is already checked earlier)
-        if((ok>0) && !dyn->forward && !(*(uint32_t*)addr)) {
+        if((ok>0) && !dyn->forward && (!(getProtection(addr)&PROT_READ) || !(*(uint32_t*)addr))) {
             if (dyn->need_dump) dynarec_log(LOG_NONE, "Stopping block at %p reason: %s\n", (void*)addr, "Next opcode is 00 00 00 00");
             ok = 0;
             need_epilog = 1;