Juan Lang : ntdll: Don't allow setting a zero process affinity.

Alexandre Julliard julliard at winehq.org
Tue Sep 29 11:09:07 CDT 2009


Module: wine
Branch: master
Commit: c7b14235211b20fc38650100fce32618ff680daf
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c7b14235211b20fc38650100fce32618ff680daf

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Sep 28 08:24:02 2009 -0700

ntdll: Don't allow setting a zero process affinity.

---

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

diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index 573ee86..d2e8db0 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -404,6 +404,8 @@ NTSTATUS WINAPI NtSetInformationProcess(
         if (ProcessInformationLength != sizeof(DWORD_PTR)) return STATUS_INVALID_PARAMETER;
         if (*(PDWORD_PTR)ProcessInformation & ~(((DWORD_PTR)1 << NtCurrentTeb()->Peb->NumberOfProcessors) - 1))
             return STATUS_INVALID_PARAMETER;
+        if (!*(PDWORD_PTR)ProcessInformation)
+            return STATUS_INVALID_PARAMETER;
         SERVER_START_REQ( set_process_info )
         {
             req->handle   = wine_server_obj_handle( ProcessHandle );
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c
index 5c44d6d..37895ef 100644
--- a/dlls/ntdll/tests/info.c
+++ b/dlls/ntdll/tests/info.c
@@ -908,7 +908,6 @@ static void test_affinity(void)
 
     proc_affinity = 0;
     status = pNtSetInformationProcess( GetCurrentProcess(), ProcessAffinityMask, &proc_affinity, sizeof(proc_affinity) );
-    todo_wine
     ok( status == STATUS_INVALID_PARAMETER,
         "Expected STATUS_INVALID_PARAMETER, got %08x\n", status);
 




More information about the wine-cvs mailing list