Added check for PROCESS_VM_WRITE, without which, some programs go into an infinite loop Henry Blum <henry.blum at gmail.com>

Henry Blum henry.blum at gmail.com
Sat May 8 00:10:37 CDT 2010


---
  dlls/kernel32/process.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 9a1f2f5..6dcad8f 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -2657,7 +2657,7 @@ HANDLE WINAPI OpenProcess( DWORD access, BOOL 
inherit, DWORD id )
      if (GetVersion() & 0x80000000) access = PROCESS_ALL_ACCESS;
       status = NtOpenProcess(&handle, access, &attr, &cid);
-    if (status != STATUS_SUCCESS)
+    if (status != STATUS_SUCCESS || (access & PROCESS_VM_WRITE))
      {
          SetLastError( RtlNtStatusToDosError(status) );
          return NULL;



More information about the wine-patches mailing list