mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +00:00
- Check for FCB->TdiDeviceName.Buffer before attempting to access it
- Fix 2 more memory leaks svn path=/branches/aicom-network-fixes/; revision=35292
This commit is contained in:
@@ -114,9 +114,6 @@ AfdCreateSocket(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||
FCB->TdiDeviceName.MaximumLength = FCB->TdiDeviceName.Length;
|
||||
FCB->TdiDeviceName.Buffer =
|
||||
ExAllocatePool( NonPagedPool, FCB->TdiDeviceName.Length );
|
||||
RtlCopyMemory( FCB->TdiDeviceName.Buffer,
|
||||
ConnectInfo->TransportName,
|
||||
FCB->TdiDeviceName.Length );
|
||||
|
||||
if( !FCB->TdiDeviceName.Buffer ) {
|
||||
ExFreePool(FCB);
|
||||
@@ -126,6 +123,10 @@ AfdCreateSocket(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||
return STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
RtlCopyMemory( FCB->TdiDeviceName.Buffer,
|
||||
ConnectInfo->TransportName,
|
||||
FCB->TdiDeviceName.Length );
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Success: %s %wZ\n",
|
||||
EaInfo->EaName, &FCB->TdiDeviceName));
|
||||
} else {
|
||||
@@ -192,6 +193,9 @@ VOID DestroySocket( PAFD_FCB FCB ) {
|
||||
InFlightRequest[i]->InFlightRequest->IoStatus.Status = STATUS_CANCELLED;
|
||||
InFlightRequest[i]->InFlightRequest->IoStatus.Information = 0;
|
||||
IoCancelIrp( InFlightRequest[i]->InFlightRequest );
|
||||
InFlightRequest[i]->InFlightRequest = NULL;
|
||||
if( InFlightRequest[i]->ConnectionCallInfo ) ExFreePool( InFlightRequest[i]->ConnectionCallInfo );
|
||||
if( InFlightRequest[i]->ConnectionReturnInfo ) ExFreePool( InFlightRequest[i]->ConnectionReturnInfo );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user