Fix (partially) bug #2243.

svn path=/trunk/; revision=26698
This commit is contained in:
Dmitry Gorbachev 2007-05-11 14:12:21 +00:00
parent 5e9f050616
commit 915201e112

View file

@ -285,11 +285,26 @@ NtRequestWaitReplyPort(IN HANDLE PortHandle,
else else
{ {
/* No callback, just copy the message */ /* No callback, just copy the message */
_SEH_TRY
{
LpcpMoveMessage(&Message->Request, LpcpMoveMessage(&Message->Request,
LpcRequest, LpcRequest,
LpcRequest + 1, LpcRequest + 1,
MessageType, MessageType,
&Thread->Cid); &Thread->Cid);
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if (!NT_SUCCESS(Status))
{
LpcpFreeToPortZone(Message, 0);
ObDereferenceObject(Port);
return Status;
}
/* Acquire the LPC lock */ /* Acquire the LPC lock */
KeAcquireGuardedMutex(&LpcpLock); KeAcquireGuardedMutex(&LpcpLock);