- Don't pass the address type to IPInitializePacket because it is set later

- Fix packet corruption caused by using uninitialized data

svn path=/trunk/; revision=40359
This commit is contained in:
Cameron Gutman 2009-04-04 01:22:33 +00:00
parent 7d73a8c6e8
commit 8d5edefc0e
2 changed files with 2 additions and 4 deletions

View file

@ -74,13 +74,12 @@ BOOLEAN PrepareICMPPacket(
GetDataPtr( IPPacket->NdisPacket, MaxLLHeaderSize,
(PCHAR *)&IPPacket->Header, &IPPacket->ContigSize );
IPPacket->Data = ((PCHAR)IPPacket->Header) + IPPacket->HeaderSize;
TI_DbgPrint(DEBUG_ICMP, ("Size (%d). Data at (0x%X).\n", Size, Data));
TI_DbgPrint(DEBUG_ICMP, ("NdisPacket at (0x%X).\n", NdisPacket));
IPPacket->HeaderSize = sizeof(IPv4_HEADER);
IPPacket->TotalSize = Size - MaxLLHeaderSize;
IPPacket->Data = ((PCHAR)IPPacket->Header) + IPPacket->HeaderSize;
TI_DbgPrint(DEBUG_ICMP, ("Copying Address: %x -> %x\n",
&IPPacket->DstAddr, Destination));

View file

@ -46,8 +46,7 @@ VOID LoopTransmit(
return;
}
/* FIXME: IPv4 only */
IPInitializePacket(&IPPacket, IP_ADDRESS_V4);
IPInitializePacket(&IPPacket, 0);
NdisGetFirstBufferFromPacket(XmitPacket,
&NdisBuffer,