From 8d5edefc0e55b68e0c1ee9b125d1b78af5e8673a Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 4 Apr 2009 01:22:33 +0000 Subject: [PATCH] - 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 --- reactos/lib/drivers/ip/network/icmp.c | 3 +-- reactos/lib/drivers/ip/network/loopback.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/reactos/lib/drivers/ip/network/icmp.c b/reactos/lib/drivers/ip/network/icmp.c index 3effdacb9d9..4fea4c7a419 100644 --- a/reactos/lib/drivers/ip/network/icmp.c +++ b/reactos/lib/drivers/ip/network/icmp.c @@ -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)); diff --git a/reactos/lib/drivers/ip/network/loopback.c b/reactos/lib/drivers/ip/network/loopback.c index 263b2ce5223..78f608920d1 100644 --- a/reactos/lib/drivers/ip/network/loopback.c +++ b/reactos/lib/drivers/ip/network/loopback.c @@ -46,8 +46,7 @@ VOID LoopTransmit( return; } - /* FIXME: IPv4 only */ - IPInitializePacket(&IPPacket, IP_ADDRESS_V4); + IPInitializePacket(&IPPacket, 0); NdisGetFirstBufferFromPacket(XmitPacket, &NdisBuffer,