diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-10-27 18:42:39 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-10-27 18:42:39 +0200 |
| commit | de115b87df9eab6887c736cb93013aae7c53103c (patch) | |
| tree | cfee028a6ba9f071e4abd35149839518fd964759 | |
| parent | cfeb0626ccc6f335d95089bf6c4f7baecdce9c8a (diff) | |
| download | box64-de115b87df9eab6887c736cb93013aae7c53103c.tar.gz box64-de115b87df9eab6887c736cb93013aae7c53103c.zip | |
Fixed some issue with bridge memory protection handling
| -rwxr-xr-x | src/tools/bridge.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tools/bridge.c b/src/tools/bridge.c index cfbcdeb5..6e18496b 100755 --- a/src/tools/bridge.c +++ b/src/tools/bridge.c @@ -70,7 +70,7 @@ void FreeBridge(bridge_t** bridge) brick_t *n = b->next; #ifdef DYNAREC if(getProtection((uintptr_t)b->b)&(PROT_DYNAREC|PROT_DYNAREC_R)) - unprotectDB((uintptr_t)b->b, NBRICK*sizeof(onebridge_t), 1); + unprotectDB((uintptr_t)b->b, NBRICK*sizeof(onebridge_t), 0); #endif my_munmap(emu, b->b, NBRICK*sizeof(onebridge_t)); box_free(b); @@ -106,7 +106,7 @@ uintptr_t AddBridge(bridge_t* bridge, wrapper_t w, void* fnc, int N, const char* if(box64_dynarec) { prot=(getProtection((uintptr_t)b->b)&(PROT_DYNAREC|PROT_DYNAREC_R))?1:0; if(prot) - unprotectDB((uintptr_t)b->b, NBRICK*sizeof(onebridge_t), 0); + unprotectDB((uintptr_t)b->b, NBRICK*sizeof(onebridge_t), 1); else // only add DB if there is no protection addDBFromAddressRange((uintptr_t)&b->b[b->sz].CC, sizeof(onebridge_t)); } @@ -239,7 +239,7 @@ uintptr_t AddVSyscall(bridge_t* bridge, int num) if(box64_dynarec) { prot=(getProtection((uintptr_t)b->b)&(PROT_DYNAREC|PROT_DYNAREC_R))?1:0; if(prot) - unprotectDB((uintptr_t)b->b, NBRICK*sizeof(onebridge_t), 0); + unprotectDB((uintptr_t)b->b, NBRICK*sizeof(onebridge_t), 1); else // only add DB if there is no protection addDBFromAddressRange((uintptr_t)&b->b[b->sz].CC, sizeof(onebridge_t)); } |