diff --git a/reactos/subsystems/win32/win32k/eng/mem.c b/reactos/subsystems/win32/win32k/eng/mem.c index 8ec3aa5b4f8..0583f58d0e3 100644 --- a/reactos/subsystems/win32/win32k/eng/mem.c +++ b/reactos/subsystems/win32/win32k/eng/mem.c @@ -79,7 +79,7 @@ EngAllocUserMem(SIZE_T cj, ULONG Tag) SIZE_T MemSize = sizeof(USERMEMHEADER) + cj; PUSERMEMHEADER Header; - Status = ZwAllocateVirtualMemory(NtCurrentProcess(), &NewMem, 0, &MemSize, MEM_COMMIT, PAGE_READWRITE); + Status = ZwAllocateVirtualMemory(NtCurrentProcess(), &NewMem, 0, &MemSize, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); if (! NT_SUCCESS(Status)) { @@ -100,7 +100,7 @@ VOID APIENTRY EngFreeUserMem(PVOID pv) { PUSERMEMHEADER Header = ((PUSERMEMHEADER) pv) - 1; - SIZE_T MemSize = sizeof(USERMEMHEADER) + Header->MemSize; + SIZE_T MemSize = 0; ZwFreeVirtualMemory(NtCurrentProcess(), (PVOID *) &Header, &MemSize, MEM_RELEASE); }