From 622baec9529bb261cd250c2c2b9768b75ee0530f Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 7 Mar 2022 14:14:07 +0100 Subject: Fix some special case on mmap64 wrapping --- src/custommem.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/custommem.c') diff --git a/src/custommem.c b/src/custommem.c index b653e78b..843532bb 100644 --- a/src/custommem.c +++ b/src/custommem.c @@ -940,6 +940,7 @@ void allocProtection(uintptr_t addr, size_t size, uint32_t prot) void loadProtectionFromMap() { +printf_log(LOG_INFO, "loadProtectionFromMap(), mapclean=%d\n", box64_mapclean); if(box64_mapclean) return; char buf[500]; @@ -1091,7 +1092,7 @@ void* find47bitBlock(size_t size) void* find47bitBlockNearHint(void* hint, size_t size) { // slow iterative search... Would need something better one day - uintptr_t addr = (uintptr_t)hint; + uintptr_t addr = (uintptr_t)(hint?hint:LOWEST); do { addr = nextFree(addr, 0x10000); uintptr_t sz = maxFree(addr, size); @@ -1106,7 +1107,7 @@ void* find47bitBlockNearHint(void* hint, size_t size) void* findBlockNearHint(void* hint, size_t size) { // slow iterative search... Would need something better one day - uintptr_t addr = (uintptr_t)hint; + uintptr_t addr = (uintptr_t)(hint?hint:LOWEST); do { addr = nextFree(addr, 0x10000); uintptr_t sz = maxFree(addr, size); -- cgit 1.4.1