There is no point to specify both MEM_RESERVE and MEM_COMMIT for VirtualAlloc

Dmitry Timoshkov dmitry at baikal.ru
Mon Jan 2 02:23:22 CST 2006


Hello,

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    There is no point to specify both MEM_RESERVE and MEM_COMMIT for
    VirtualAlloc.

diff -up cvs/hq/wine/dlls/gdi/dib.c wine/dlls/gdi/dib.c
--- cvs/hq/wine/dlls/gdi/dib.c	2005-12-13 19:54:09.000000000 +0800
+++ wine/dlls/gdi/dib.c	2006-01-02 14:17:16.000000000 +0800
@@ -1234,7 +1234,7 @@ HBITMAP DIB_CreateDIBSection(HDC hdc, co
     {
         offset = 0;
         dib->dsBm.bmBits = VirtualAlloc( NULL, dib->dsBmih.biSizeImage,
-                                         MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE );
+                                         MEM_COMMIT, PAGE_READWRITE );
     }
     dib->dshSection = section;
     dib->dsOffset = offset;
diff -up cvs/hq/wine/dlls/kernel/process.c wine/dlls/kernel/process.c
--- cvs/hq/wine/dlls/kernel/process.c	2005-12-22 15:34:59.000000000 +0800
+++ wine/dlls/kernel/process.c	2006-01-02 13:41:51.000000000 +0800
@@ -380,7 +380,7 @@ static BOOL build_initial_environment( c
     /* Now allocate the environment */
     ptr = NULL;
     if (NtAllocateVirtualMemory(NtCurrentProcess(), &ptr, 0, &size,
-                                MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE) != STATUS_SUCCESS)
+                                MEM_COMMIT, PAGE_READWRITE) != STATUS_SUCCESS)
         return FALSE;
 
     NtCurrentTeb()->Peb->ProcessParameters->Environment = p = ptr;
diff -up cvs/hq/wine/dlls/ntdll/env.c wine/dlls/ntdll/env.c
--- cvs/hq/wine/dlls/ntdll/env.c	2005-11-30 23:19:01.000000000 +0800
+++ wine/dlls/ntdll/env.c	2006-01-02 13:25:49.000000000 +0800
@@ -55,7 +55,7 @@ NTSTATUS WINAPI RtlCreateEnvironment(BOO
         {
             *env = NULL;
             nts = NtAllocateVirtualMemory(NtCurrentProcess(), (void**)env, 0, &mbi.RegionSize, 
-                                          MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
+                                          MEM_COMMIT, PAGE_READWRITE);
             if (nts == STATUS_SUCCESS)
                 memcpy(*env, NtCurrentTeb()->Peb->ProcessParameters->Environment, mbi.RegionSize);
             else *env = NULL;
@@ -67,7 +67,7 @@ NTSTATUS WINAPI RtlCreateEnvironment(BOO
         SIZE_T      size = 1;
         PVOID       addr = NULL;
         nts = NtAllocateVirtualMemory(NtCurrentProcess(), &addr, 0, &size,
-                                      MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
+                                      MEM_COMMIT, PAGE_READWRITE);
         if (nts == STATUS_SUCCESS) *env = addr;
     }
 
@@ -226,7 +226,7 @@ NTSTATUS WINAPI RtlSetEnvironmentVariabl
 
         new_env = NULL;
         nts = NtAllocateVirtualMemory(NtCurrentProcess(), (void**)&new_env, 0,
-                                      &new_size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
+                                      &new_size, MEM_COMMIT, PAGE_READWRITE);
         if (nts != STATUS_SUCCESS) goto done;
 
         memmove(new_env, env, (p - env) * sizeof(WCHAR));
diff -up cvs/hq/wine/dlls/ntdll/relay.c wine/dlls/ntdll/relay.c
--- cvs/hq/wine/dlls/ntdll/relay.c	2005-12-21 14:48:47.000000000 +0800
+++ wine/dlls/ntdll/relay.c	2006-01-02 13:26:51.000000000 +0800
@@ -683,7 +683,7 @@ void SNOOP_SetupDLL(HMODULE hmod)
     size = exports->NumberOfFunctions * sizeof(SNOOP_FUN);
     addr = NULL;
     NtAllocateVirtualMemory(NtCurrentProcess(), &addr, 0, &size,
-                            MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
+                            MEM_COMMIT, PAGE_EXECUTE_READWRITE);
     if (!addr) {
         RtlFreeHeap(GetProcessHeap(),0,*dll);
         FIXME("out of memory\n");
@@ -850,8 +850,7 @@ void WINAPI __regs_SNOOP_Entry( CONTEXT8
                 VOID* addr = NULL;
 
                 NtAllocateVirtualMemory(NtCurrentProcess(), &addr, 0, &size, 
-                                        MEM_COMMIT | MEM_RESERVE,
-                                        PAGE_EXECUTE_READWRITE);
+                                        MEM_COMMIT, PAGE_EXECUTE_READWRITE);
                 if (!addr) return;
                 *rets = addr;
 		memset(*rets,0,4096);
diff -up cvs/hq/wine/dlls/winedos/int31.c wine/dlls/winedos/int31.c
--- cvs/hq/wine/dlls/winedos/int31.c	2005-12-13 19:54:20.000000000 +0800
+++ wine/dlls/winedos/int31.c	2006-01-02 13:31:09.000000000 +0800
@@ -199,7 +199,7 @@ static LPVOID DPMI_xalloc( DWORD len ) 
         while (!ret) 
         {
             ret = VirtualAlloc( lastvalloced, len,
-                                MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE );
+                                MEM_COMMIT, PAGE_EXECUTE_READWRITE );
             if (!ret)
                 lastvalloced = (char *) lastvalloced + 0x10000;
 
@@ -229,7 +229,7 @@ static LPVOID DPMI_xalloc( DWORD len ) 
     else
     {
         ret = VirtualAlloc( NULL, len, 
-                            MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE );
+                            MEM_COMMIT, PAGE_EXECUTE_READWRITE );
     }
 
     lastvalloced = (LPVOID)(((DWORD)ret+len+0xffff)&~0xffff);
diff -up cvs/hq/wine/dlls/winmm/tests/capture.c wine/dlls/winmm/tests/capture.c
--- cvs/hq/wine/dlls/winmm/tests/capture.c	2005-06-24 18:04:22.000000000 +0900
+++ wine/dlls/winmm/tests/capture.c	2006-01-02 14:20:03.000000000 +0800
@@ -414,7 +414,7 @@ static void wave_in_test_device(int devi
 
     /* Try a PCMWAVEFORMAT aligned next to an unaccessible page for bounds
      * checking */
-    twoPages = VirtualAlloc(NULL, 2 * dwPageSize, MEM_RESERVE | MEM_COMMIT,
+    twoPages = VirtualAlloc(NULL, 2 * dwPageSize, MEM_COMMIT,
                             PAGE_READWRITE);
     ok(twoPages!=NULL,"Failed to allocate 2 pages of memory\n");
     if (twoPages) {
diff -up cvs/hq/wine/dlls/winmm/tests/wave.c wine/dlls/winmm/tests/wave.c
--- cvs/hq/wine/dlls/winmm/tests/wave.c	2005-11-02 20:09:19.000000000 +0800
+++ wine/dlls/winmm/tests/wave.c	2006-01-02 14:20:21.000000000 +0800
@@ -782,7 +782,7 @@ static void wave_out_test_device(int dev
 
     /* Try a PCMWAVEFORMAT aligned next to an unaccessible page for bounds
      * checking */
-    twoPages = VirtualAlloc(NULL, 2 * dwPageSize, MEM_RESERVE | MEM_COMMIT,
+    twoPages = VirtualAlloc(NULL, 2 * dwPageSize, MEM_COMMIT,
                             PAGE_READWRITE);
     ok(twoPages!=NULL,"Failed to allocate 2 pages of memory\n");
     if (twoPages) {





More information about the wine-patches mailing list