[ros-diffs] [cgutman] 40359: - Don't pass the address type to IPInitializePacket because it is set later - Fix packet corruption caused by using uninitialized data

cgutman at svn.reactos.org cgutman at svn.reactos.org
Sat Apr 4 03:22:34 CEST 2009


Author: cgutman
Date: Sat Apr  4 05:22:33 2009
New Revision: 40359

URL: http://svn.reactos.org/svn/reactos?rev=40359&view=rev
Log:
 - Don't pass the address type to IPInitializePacket because it is set later
 - Fix packet corruption caused by using uninitialized data

Modified:
    trunk/reactos/lib/drivers/ip/network/icmp.c
    trunk/reactos/lib/drivers/ip/network/loopback.c

Modified: trunk/reactos/lib/drivers/ip/network/icmp.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/icmp.c?rev=40359&r1=40358&r2=40359&view=diff
==============================================================================
--- trunk/reactos/lib/drivers/ip/network/icmp.c [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/ip/network/icmp.c [iso-8859-1] Sat Apr  4 05:22:33 2009
@@ -74,13 +74,12 @@
     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));

Modified: trunk/reactos/lib/drivers/ip/network/loopback.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/loopback.c?rev=40359&r1=40358&r2=40359&view=diff
==============================================================================
--- trunk/reactos/lib/drivers/ip/network/loopback.c [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/ip/network/loopback.c [iso-8859-1] Sat Apr  4 05:22:33 2009
@@ -46,8 +46,7 @@
         return;
     }
 
-    /* FIXME: IPv4 only */
-    IPInitializePacket(&IPPacket, IP_ADDRESS_V4);
+    IPInitializePacket(&IPPacket, 0);
 
     NdisGetFirstBufferFromPacket(XmitPacket,
                                  &NdisBuffer,



More information about the Ros-diffs mailing list