- Minor correction to NtConnectPort to avoid freeing NULL pointer. Based on patch by Waldo Alvarez Ca�izares.

svn path=/trunk/; revision=8282
This commit is contained in:
Filip Navara 2004-02-21 09:06:27 +00:00
parent 6659cc3181
commit 30e8e2d0b0

View file

@ -1,4 +1,4 @@
/* $Id: connect.c,v 1.25 2004/02/02 23:48:42 ea Exp $
/* $Id: connect.c,v 1.26 2004/02/21 09:06:27 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -432,17 +432,6 @@ NtConnectPort (PHANDLE UnsafeConnectedPortHandle,
{
if (UnsafeConnectDataLength != NULL)
{
if (ExGetPreviousMode() != KernelMode)
{
Status = MmCopyToCaller(UnsafeConnectData,
ConnectData,
ConnectDataLength);
ExFreePool(ConnectData);
if (!NT_SUCCESS(Status))
{
return(Status);
}
}
Status = MmCopyToCaller(UnsafeConnectDataLength,
&ConnectDataLength,
sizeof(ULONG));
@ -451,6 +440,17 @@ NtConnectPort (PHANDLE UnsafeConnectedPortHandle,
return(Status);
}
}
if (UnsafeConnectData != NULL && ConnectData != NULL)
{
Status = MmCopyToCaller(UnsafeConnectData,
ConnectData,
ConnectDataLength);
ExFreePool(ConnectData);
if (!NT_SUCCESS(Status))
{
return(Status);
}
}
}
Status = ObInsertObject(ConnectedPort,
NULL,