if (!(RecvReq->TdiFlags & TDI_RECEIVE_PEEK))
{
FCB->Recv.Content -= DatagramRecv->Len;
- ExFreePool( DatagramRecv->Address );
- ExFreePool( DatagramRecv );
+ ExFreePoolWithTag(DatagramRecv->Address, TAG_AFD_TRANSPORT_ADDRESS);
+ ExFreePoolWithTag(DatagramRecv, TAG_AFD_STORED_DATAGRAM);
}
AFD_DbgPrint(MID_TRACE,("Done\n"));
while( !IsListEmpty( &FCB->DatagramList ) ) {
DatagramRecvEntry = RemoveHeadList(&FCB->DatagramList);
DatagramRecv = CONTAINING_RECORD(DatagramRecvEntry, AFD_STORED_DATAGRAM, ListEntry);
- ExFreePool( DatagramRecv->Address );
- ExFreePool( DatagramRecv );
+ ExFreePoolWithTag(DatagramRecv->Address, TAG_AFD_TRANSPORT_ADDRESS);
+ ExFreePoolWithTag(DatagramRecv, TAG_AFD_STORED_DATAGRAM);
}
SocketStateUnlock( FCB );
return STATUS_FILE_CLOSED;
}
- DatagramRecv = ExAllocatePool( NonPagedPool, DGSize );
+ DatagramRecv = ExAllocatePoolWithTag(NonPagedPool,
+ DGSize,
+ TAG_AFD_STORED_DATAGRAM);
if( DatagramRecv ) {
DatagramRecv->Len = Irp->IoStatus.Information;
} else Status = STATUS_NO_MEMORY;
if( !NT_SUCCESS( Status ) ) {
- if( DatagramRecv ) ExFreePool( DatagramRecv );
+
+ if (DatagramRecv)
+ {
+ ExFreePoolWithTag(DatagramRecv, TAG_AFD_STORED_DATAGRAM);
+ }
+
SocketStateUnlock( FCB );
return Status;
} else {