Module: wine Branch: master Commit: c7b14235211b20fc38650100fce32618ff680daf URL: http://source.winehq.org/git/wine.git/?a=commit;h=c7b14235211b20fc38650100fc...
Author: Juan Lang juan.lang@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);