From ba9896d0b85899933b2a6c66733eb62ec8fe7438 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Thu, 15 Oct 2015 09:50:12 +0000 Subject: [PATCH 1/1] [WIN32K:NTUSER] - THREADINFO::hEventQueueClient is a user handle. Treat it as such. CORE-10207 svn path=/trunk/; revision=69537 --- reactos/win32ss/user/ntuser/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/win32ss/user/ntuser/main.c b/reactos/win32ss/user/ntuser/main.c index 05fc831f03f..b429b63b59a 100644 --- a/reactos/win32ss/user/ntuser/main.c +++ b/reactos/win32ss/user/ntuser/main.c @@ -508,12 +508,12 @@ InitThreadCallback(PETHREAD Thread) goto error; } Status = ObReferenceObjectByHandle(ptiCurrent->hEventQueueClient, 0, - *ExEventObjectType, KernelMode, + *ExEventObjectType, UserMode, (PVOID*)&ptiCurrent->pEventQueueServer, NULL); if (!NT_SUCCESS(Status)) { ERR_CH(UserThread, "Failed referencing the event object, Status 0x%08x.\n", Status); - ZwClose(ptiCurrent->hEventQueueClient); + ObCloseHandle(ptiCurrent->hEventQueueClient, UserMode); ptiCurrent->hEventQueueClient = NULL; goto error; } @@ -818,7 +818,7 @@ ExitThreadCallback(PETHREAD Thread) if (ptiCurrent->hEventQueueClient != NULL) { - ZwClose(ptiCurrent->hEventQueueClient); + ObCloseHandle(ptiCurrent->hEventQueueClient, UserMode); ObDereferenceObject(ptiCurrent->pEventQueueServer); } ptiCurrent->hEventQueueClient = NULL; -- 2.17.1