Author: tkreuzer Date: Sat Mar 14 11:22:31 2015 New Revision: 66685
URL: http://svn.reactos.org/svn/reactos?rev=66685&view=rev Log: [WIN32K] Initialize list entry after removing a message from DispatchingMessagesHead. Fixes list corruption. CORE-9357 #resolve
Modified: trunk/reactos/win32ss/user/ntuser/message.c trunk/reactos/win32ss/user/ntuser/msgqueue.c
Modified: trunk/reactos/win32ss/user/ntuser/message.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/message... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] Sat Mar 14 11:22:31 2015 @@ -1699,7 +1699,6 @@ Message->ptiSender = NULL; // mjmartin, you are right! This is null. Message->ptiCallBackSender = Win32Thread; InitializeListHead(&Message->DispatchingListEntry); - //Message->DispatchingListEntry.Flink = NULL; Message->CompletionCallback = CompletionCallback; Message->CompletionCallbackContext = CompletionCallbackContext; Message->HookMessage = MSQ_NORMAL;
Modified: trunk/reactos/win32ss/user/ntuser/msgqueue.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/msgqueu... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] Sat Mar 14 11:22:31 2015 @@ -2128,6 +2128,7 @@ { CurrentEntry = RemoveHeadList(&pti->DispatchingMessagesHead); CurrentSentMessage = CONTAINING_RECORD(CurrentEntry, USER_SENT_MESSAGE, DispatchingListEntry); + InitializeListHead(&CurrentSentMessage->DispatchingListEntry); CurrentSentMessage->CompletionEvent = NULL; CurrentSentMessage->Result = NULL;