mirror of
https://github.com/reactos/reactos.git
synced 2025-06-03 00:10:39 +00:00
[IP] Don't reference uninitialized PCB to avoid BSOD. CORE-18982
transport calls to LibTCPConnect that suffer certain early failures like parameter errors or early route lookup failures return without initializing the pcb. In order to avoid later BSOD's this change clears the ConnectionRequest bucket in those cases.
This commit is contained in:
parent
e5993f13f0
commit
f8a6542b15
1 changed files with 7 additions and 1 deletions
|
@ -411,7 +411,13 @@ NTSTATUS TCPConnect
|
|||
Status = TCPTranslateError(LibTCPConnect(Connection,
|
||||
&connaddr,
|
||||
RemotePort));
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
LockObject(Connection);
|
||||
RemoveEntryList(&Bucket->Entry);
|
||||
UnlockObject(Connection);
|
||||
ExFreeToNPagedLookasideList(&TdiBucketLookasideList, Bucket);
|
||||
}
|
||||
TI_DbgPrint(DEBUG_TCP,("[IP, TCPConnect] Leaving. Status = 0x%x\n", Status));
|
||||
|
||||
return Status;
|
||||
|
|
Loading…
Reference in a new issue