08.05.2010 9:10, Henry Blum wrote:
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;
Wouldn't this pretend operation failed for every request with PROCESS_VM_WRITE, even if NtOpenProcess succeeded, and leak a handle? Which bug should it fix?