diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-11-20 20:03:48 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-11-20 20:03:48 +0100 |
| commit | 38880ab5a4f6f562e4e3953ebb9ce9ba5bb2f91a (patch) | |
| tree | 0a5db1223839d88ed882a7aaff8f3ac56d00420c | |
| parent | 4e193241776deb8f7cac9cc3c21c87891a8a377f (diff) | |
| download | box64-38880ab5a4f6f562e4e3953ebb9ce9ba5bb2f91a.tar.gz box64-38880ab5a4f6f562e4e3953ebb9ce9ba5bb2f91a.zip | |
[TRACE] Don't try to decode a bridge if memory is not mapped or un-readable
| -rw-r--r-- | src/tools/bridge.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tools/bridge.c b/src/tools/bridge.c index 23b3a728..a5396020 100644 --- a/src/tools/bridge.c +++ b/src/tools/bridge.c @@ -225,6 +225,10 @@ uintptr_t AddVSyscall(bridge_t* bridge, int num) const char* getBridgeName(void* addr) { + if(!getMmapped((uintptr_t)addr)) + return NULL; + if(!(getProtection((uintptr_t)addr)&PROT_READ)) + return NULL; onebridge_t* one = (onebridge_t*)(((uintptr_t)addr&~(sizeof(onebridge_t)-1))); // align to start of bridge if(one->C3==0xC3 && one->S=='S' && one->C=='C') { if(one->w==NULL) |