From 0152087f2726e8de3f71de240edb2a66b9597e05 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 23 Apr 2009 10:32:41 +0000 Subject: [PATCH] - Zero the whole packet in other packet allocation routines - Set ValidCount TRUE because we don't have any buffers chained yet - Set the fPACKET_ALLOCATED_BY_NDIS flag (fixes storing media-specific data) svn path=/trunk/; revision=40664 --- reactos/drivers/network/ndis/ndis/buffer.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/reactos/drivers/network/ndis/ndis/buffer.c b/reactos/drivers/network/ndis/ndis/buffer.c index 2a7264b60fe..3d1a71a6b5d 100644 --- a/reactos/drivers/network/ndis/ndis/buffer.c +++ b/reactos/drivers/network/ndis/ndis/buffer.c @@ -426,6 +426,8 @@ NdisAllocatePacket( RtlZeroMemory(Temp, sizeof(NDIS_PACKET)); Temp->Private.Pool = Pool; + Temp->Private.ValidCounts = TRUE; + Temp->Private.NdisPacketFlags = fPACKET_ALLOCATED_BY_NDIS; *Packet = Temp; *Status = NDIS_STATUS_SUCCESS; @@ -705,8 +707,10 @@ NdisDprAllocatePacket( KeReleaseSpinLockFromDpcLevel(&Pool->SpinLock.SpinLock); - RtlZeroMemory(&Temp->Private, sizeof(NDIS_PACKET_PRIVATE)); + RtlZeroMemory(Temp, sizeof(NDIS_PACKET)); Temp->Private.Pool = Pool; + Temp->Private.ValidCounts = TRUE; + Temp->Private.NdisPacketFlags = fPACKET_ALLOCATED_BY_NDIS; *Packet = Temp; *Status = NDIS_STATUS_SUCCESS; @@ -752,8 +756,10 @@ NdisDprAllocatePacketNonInterlocked( Temp = Pool->FreeList; Pool->FreeList = (PNDIS_PACKET)Temp->Reserved[0]; - RtlZeroMemory(&Temp->Private, sizeof(NDIS_PACKET_PRIVATE)); + RtlZeroMemory(Temp, sizeof(NDIS_PACKET)); Temp->Private.Pool = Pool; + Temp->Private.ValidCounts = TRUE; + Temp->Private.NdisPacketFlags = fPACKET_ALLOCATED_BY_NDIS; *Packet = Temp; *Status = NDIS_STATUS_SUCCESS; @@ -1102,4 +1108,4 @@ NdisUnchainBufferAtFront( *Buffer = NdisBuffer; } -/* EOF */ +/* EOF */ \ No newline at end of file