mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
[NTOS:LPC]
- Avoid dereferencing a null pointer in LpcpDeletePort. By Samuel Serapión. CORE-6850 #resolve svn path=/trunk/; revision=71673
This commit is contained in:
@@ -432,6 +432,15 @@ LpcpDeletePort(IN PVOID ObjectBody)
|
||||
|
||||
/* Dereference the object unless it's the same port */
|
||||
if (ConnectionPort != Port) ObDereferenceObject(ConnectionPort);
|
||||
|
||||
/* Check if this is a connection port with a server process */
|
||||
if (((Port->Flags & LPCP_PORT_TYPE_MASK) == LPCP_CONNECTION_PORT) &&
|
||||
(ConnectionPort->ServerProcess))
|
||||
{
|
||||
/* Dereference the server process */
|
||||
ObDereferenceObject(ConnectionPort->ServerProcess);
|
||||
ConnectionPort->ServerProcess = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -439,15 +448,6 @@ LpcpDeletePort(IN PVOID ObjectBody)
|
||||
KeReleaseGuardedMutex(&LpcpLock);
|
||||
}
|
||||
|
||||
/* Check if this is a connection port with a server process */
|
||||
if (((Port->Flags & LPCP_PORT_TYPE_MASK) == LPCP_CONNECTION_PORT) &&
|
||||
(ConnectionPort->ServerProcess))
|
||||
{
|
||||
/* Dereference the server process */
|
||||
ObDereferenceObject(ConnectionPort->ServerProcess);
|
||||
ConnectionPort->ServerProcess = NULL;
|
||||
}
|
||||
|
||||
/* Free client security */
|
||||
LpcpFreePortClientSecurity(Port);
|
||||
LPCTRACE(LPC_CLOSE_DEBUG, "Port: %p deleted\n", Port);
|
||||
|
||||
Reference in New Issue
Block a user