From e6b79399bbe4ba659b1f3a756af3714385ae7513 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 25 Mar 2009 02:28:40 +0000 Subject: [PATCH] - Fix ICMP svn path=/trunk/; revision=40215 --- reactos/lib/drivers/ip/transport/rawip/rawip.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/reactos/lib/drivers/ip/transport/rawip/rawip.c b/reactos/lib/drivers/ip/transport/rawip/rawip.c index 78a61b09563..d779c743688 100644 --- a/reactos/lib/drivers/ip/transport/rawip/rawip.c +++ b/reactos/lib/drivers/ip/transport/rawip/rawip.c @@ -191,7 +191,7 @@ NTSTATUS RawIPSendDatagram( { IP_PACKET Packet; PTA_IP_ADDRESS RemoteAddressTa = (PTA_IP_ADDRESS)ConnInfo->RemoteAddress; - IP_ADDRESS RemoteAddress; + IP_ADDRESS RemoteAddress, LocalAddress; USHORT RemotePort; NTSTATUS Status; PNEIGHBOR_CACHE_ENTRY NCE; @@ -212,10 +212,17 @@ NTSTATUS RawIPSendDatagram( return STATUS_UNSUCCESSFUL; } + LocalAddress = AddrFile->Address; + if (AddrIsUnspecified(&LocalAddress)) + { + if (!IPGetDefaultAddress(&LocalAddress)) + return STATUS_UNSUCCESSFUL; + } + Status = BuildRawIpPacket( &Packet, &RemoteAddress, RemotePort, - &AddrFile->Address, + &LocalAddress, AddrFile->Port, BufferData, DataSize );