From a488ee8e7adcf58d003710f6a21bfbf6551a4de3 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 24 Nov 2008 13:45:42 +0100 Subject: [PATCH] kernel32: Fix the base DOS memory address when the low 64K are not accessible. --- dlls/kernel32/dosmem.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/kernel32/dosmem.c b/dlls/kernel32/dosmem.c index a1bff4dc68c..8b0653b291d 100644 --- a/dlls/kernel32/dosmem.c +++ b/dlls/kernel32/dosmem.c @@ -170,15 +170,16 @@ BOOL DOSMEM_Init(void) ExitProcess(1); } - DOSMEM_dosmem = addr; - if (!addr) + if (addr <= (void *)DOSMEM_64KB) { + DOSMEM_dosmem = 0; DOSMEM_protect = DOSMEM_64KB; sysmem = (char *)0xf0000; /* store sysmem in high addresses for now */ } else { WARN( "First megabyte not available for DOS address space.\n" ); + DOSMEM_dosmem = addr; DOSMEM_protect = 0; sysmem = DOSMEM_dosmem; }