https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c526f94b8c4709919f59bb47a01e4ebb9f9627b6

commit c526f94b8c4709919f59bb47a01e4ebb9f9627b6
Author:     Thomas Faber <thomas.fa...@reactos.org>
AuthorDate: Fri Dec 28 11:27:28 2018 +0100
Commit:     Thomas Faber <thomas.fa...@reactos.org>
CommitDate: Fri Dec 28 13:59:33 2018 +0100

    [WIN32K:NTUSER] Acquire the user lock exclusively in NtUserGetSystemMenu. 
CORE-15512
---
 win32ss/user/ntuser/menu.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/win32ss/user/ntuser/menu.c b/win32ss/user/ntuser/menu.c
index f2357fe538..6c825f3f10 100644
--- a/win32ss/user/ntuser/menu.c
+++ b/win32ss/user/ntuser/menu.c
@@ -274,6 +274,7 @@ BOOL IntDestroyMenu( PMENU pMenu, BOOL bRecurse)
 {
     PMENU SubMenu;
 
+    ASSERT(UserIsEnteredExclusive());
     if (pMenu->rgItems) /* recursively destroy submenus */
     {
        int i;
@@ -319,6 +320,7 @@ UserDestroyMenuObject(PVOID Object)
 BOOL FASTCALL
 IntDestroyMenuObject(PMENU Menu, BOOL bRecurse)
 {
+   ASSERT(UserIsEnteredExclusive());
    if (Menu)
    {
       PWND Window;
@@ -5485,7 +5487,7 @@ NtUserGetSystemMenu(HWND hWnd, BOOL bRevert)
    DECLARE_RETURN(HMENU);
 
    TRACE("Enter NtUserGetSystemMenu\n");
-   UserEnterShared();
+   UserEnterExclusive();
 
    if (!(Window = UserGetWindowObject(hWnd)))
    {

Reply via email to