X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=drivers%2Fnetwork%2Fafd%2Fafd%2Flisten.c;h=9a5a50b30a92da4c40fbbf8cb680496c299bc354;hp=94893fc5ea613b4c868bec723b9bcaad8b68fab9;hb=b8309397b57c2a1fffb12e63d9a15becfd2fae57;hpb=e4155c95c72474bab3db9873fbb0f4548305026a diff --git a/drivers/network/afd/afd/listen.c b/drivers/network/afd/afd/listen.c index 94893fc5ea6..9a5a50b30a9 100644 --- a/drivers/network/afd/afd/listen.c +++ b/drivers/network/afd/afd/listen.c @@ -27,7 +27,11 @@ static NTSTATUS SatisfyAccept( PAFD_DEVICE_EXTENSION DeviceExt, FCB->Connection = Qelt->Object; - if( FCB->RemoteAddress ) ExFreePool( FCB->RemoteAddress ); + if (FCB->RemoteAddress) + { + ExFreePoolWithTag(FCB->RemoteAddress, TAG_AFD_TRANSPORT_ADDRESS); + } + FCB->RemoteAddress = TaCopyTransportAddress( Qelt->ConnInfo->RemoteAddress ); @@ -115,13 +119,17 @@ static NTSTATUS NTAPI ListenComplete( PDEVICE_OBJECT DeviceObject, /* Free ConnectionReturnInfo and ConnectionCallInfo */ if (FCB->ListenIrp.ConnectionReturnInfo) { - ExFreePool(FCB->ListenIrp.ConnectionReturnInfo); + ExFreePoolWithTag(FCB->ListenIrp.ConnectionReturnInfo, + TAG_AFD_TDI_CONNECTION_INFORMATION); + FCB->ListenIrp.ConnectionReturnInfo = NULL; } if (FCB->ListenIrp.ConnectionCallInfo) { - ExFreePool(FCB->ListenIrp.ConnectionCallInfo); + ExFreePoolWithTag(FCB->ListenIrp.ConnectionCallInfo, + TAG_AFD_TDI_CONNECTION_INFORMATION); + FCB->ListenIrp.ConnectionCallInfo = NULL; } @@ -138,7 +146,10 @@ static NTSTATUS NTAPI ListenComplete( PDEVICE_OBJECT DeviceObject, return Irp->IoStatus.Status; } - Qelt = ExAllocatePool( NonPagedPool, sizeof(*Qelt) ); + Qelt = ExAllocatePoolWithTag(NonPagedPool, + sizeof(*Qelt), + TAG_AFD_ACCEPT_QUEUE); + if( !Qelt ) { Status = STATUS_NO_MEMORY; } else { @@ -191,7 +202,6 @@ static NTSTATUS NTAPI ListenComplete( PDEVICE_OBJECT DeviceObject, FCB->Connection.Object, &FCB->ListenIrp.ConnectionCallInfo, &FCB->ListenIrp.ConnectionReturnInfo, - &FCB->ListenIrp.Iosb, ListenComplete, FCB ); @@ -257,7 +267,9 @@ NTSTATUS AfdListenSocket( PDEVICE_OBJECT DeviceObject, PIRP Irp, if (!NT_SUCCESS(Status)) { - ExFreePool(FCB->ListenIrp.ConnectionCallInfo); + ExFreePoolWithTag(FCB->ListenIrp.ConnectionCallInfo, + TAG_AFD_TDI_CONNECTION_INFORMATION); + FCB->ListenIrp.ConnectionCallInfo = NULL; return UnlockAndMaybeComplete(FCB, Status, Irp, 0); } @@ -268,7 +280,6 @@ NTSTATUS AfdListenSocket( PDEVICE_OBJECT DeviceObject, PIRP Irp, FCB->Connection.Object, &FCB->ListenIrp.ConnectionCallInfo, &FCB->ListenIrp.ConnectionReturnInfo, - &FCB->ListenIrp.Iosb, ListenComplete, FCB ); @@ -374,7 +385,7 @@ NTSTATUS AfdAccept( PDEVICE_OBJECT DeviceObject, PIRP Irp, AFD_DbgPrint(MID_TRACE,("Completed a wait for accept\n")); - ExFreePool( PendingConnObj ); + ExFreePoolWithTag(PendingConnObj, TAG_AFD_ACCEPT_QUEUE); if( !IsListEmpty( &FCB->PendingConnections ) ) {