Check whether senderQ is NULL before trying to lock it.
diff --git a/windows/message.c b/windows/message.c
index 757700f..3255edc 100644
--- a/windows/message.c
+++ b/windows/message.c
@@ -989,7 +989,7 @@
ReplyMessage */
QUEUE_RemoveSMSG( queue, SM_WAITING_LIST, smsg );
- EnterCriticalSection(&senderQ->cSection);
+ if (senderQ) EnterCriticalSection(&senderQ->cSection);
/* tell the sender we're all done with smsg structure */
smsg->flags |= SMSG_RECEIVED;
@@ -1002,8 +1002,8 @@
TRACE_(sendmsg)("Receiver cleans up!\n" );
HeapFree( SystemHeap, 0, smsg );
}
-
- LeaveCriticalSection(&senderQ->cSection);
+
+ if (senderQ) LeaveCriticalSection(&senderQ->cSection);
}
ReplyMessageEnd: