diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-03-27 15:01:16 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-03-27 15:01:16 +0100 |
| commit | e1f69b9c6171f5d2a67017194232a77025a4a096 (patch) | |
| tree | 652e533d98d5331f68f643e64caa5cb03e6baa71 /src/wrapped | |
| parent | 81f25b219ff69171f2fac2263ce7d49e8b7456b0 (diff) | |
| download | box64-e1f69b9c6171f5d2a67017194232a77025a4a096.tar.gz box64-e1f69b9c6171f5d2a67017194232a77025a4a096.zip | |
Improve memory handling for wine, again
Diffstat (limited to 'src/wrapped')
| -rw-r--r-- | src/wrapped/wrappedlibc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index cb143880..0d2a5d56 100644 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -2694,7 +2694,7 @@ EXPORT void* my_mmap64(x64emu_t* emu, void *addr, unsigned long length, int prot if(emu && (box64_log>=LOG_DEBUG || box64_dynarec_log>=LOG_DEBUG)) printf_log(LOG_NONE, " tried again with %p, got %p\n", addr, ret); if(old_addr && ret!=old_addr && ret!=MAP_FAILED) errno = olderr; - } else if((ret!=MAP_FAILED) && !(flags&MAP_FIXED) && ((box64_wine)) && (old_addr) && (addr!=ret) && + } else if((ret!=MAP_FAILED) && !(flags&MAP_FIXED) && ((box64_wine)) && (addr && (addr!=ret)) && (((uintptr_t)ret>0x7fffffffffffLL) || ((uintptr_t)ret&~0xffff))) { int olderr = errno; if(emu && (box64_log>=LOG_DEBUG || box64_dynarec_log>=LOG_DEBUG)) printf_log(LOG_NONE, "Warning, mmap on 47bits didn't worked, ask %p, got %p ", addr, ret); |