Index: memory/virtual.c
===================================================================
RCS file: /home/wine/wine/memory/virtual.c,v
retrieving revision 1.80
diff -u -u -r1.80 virtual.c
--- memory/virtual.c	3 Jul 2002 21:10:44 -0000	1.80
+++ memory/virtual.c	8 Jul 2002 11:03:22 -0000
@@ -1177,6 +1177,7 @@
     UINT size = 0;
 
     if (addr >= (void*)0xc0000000) return 0;
+    VirtualAlloc( 0x80000000, 0x1000, MEM_RESERVE | MEM_SYSTEM, PAGE_EXECUTE_READWRITE );
 
     base = ROUND_ADDR( addr, page_mask );
 
@@ -1230,6 +1231,9 @@
     info->BaseAddress    = (LPVOID)base;
     info->AllocationBase = (LPVOID)alloc_base;
     info->RegionSize     = size - (base - alloc_base);
+    if ((info->BaseAddress + info->RegionSize) > 0xc0000000)
+      info->RegionSize = 0xc0000000 - (DWORD)info->BaseAddress;
+
     return sizeof(*info);
 }
 
