diff --git a/drivers/network/afd/afd/listen.c b/drivers/network/afd/afd/listen.c index 09634d524d0..7898641bb2a 100644 --- a/drivers/network/afd/afd/listen.c +++ b/drivers/network/afd/afd/listen.c @@ -131,11 +131,12 @@ static NTSTATUS NTAPI ListenComplete PLIST_ENTRY PendingIrp = RemoveHeadList( &FCB->PendingIrpList[FUNCTION_PREACCEPT] ); PLIST_ENTRY PendingConn = FCB->PendingConnections.Flink; + Qelt = CONTAINING_RECORD( PendingConn, AFD_TDI_OBJECT_QELT, ListEntry ); SatisfyPreAccept ( CONTAINING_RECORD( PendingIrp, IRP, Tail.Overlay.ListEntry ), - CONTAINING_RECORD( PendingConn, AFD_TDI_OBJECT_QELT, - ListEntry ) ); + Qelt ); + ExFreePool( Qelt ); } FCB->NeedsNewListen = TRUE; diff --git a/drivers/network/afd/afd/read.c b/drivers/network/afd/afd/read.c index 0775a490340..3ec08906773 100644 --- a/drivers/network/afd/afd/read.c +++ b/drivers/network/afd/afd/read.c @@ -513,6 +513,8 @@ PacketSocketRecvComplete( AFD_DbgPrint(MID_TRACE,("Completing\n")); IoCompleteRequest( NextIrp, IO_NETWORK_INCREMENT ); } + + ExFreePool( DatagramRecv ); } if( !IsListEmpty( &FCB->DatagramList ) ) {