mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
- Initialize packets before using them
- Make PrepareICMPPacket return BOOLEAN - Call the packet's free function to free it - Remove unnecessary NULL checks - Part 1 of 2 svn path=/trunk/; revision=40355
This commit is contained in:
parent
485b36d2f8
commit
48a474fded
6 changed files with 14 additions and 9 deletions
|
@ -253,6 +253,8 @@ VOID ARPReceive(
|
|||
SenderHWAddress,
|
||||
LAN_PROTO_ARP);
|
||||
}
|
||||
|
||||
Packet->Free(Packet);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -34,7 +34,7 @@ VOID SendICMPComplete(
|
|||
}
|
||||
|
||||
|
||||
PIP_PACKET PrepareICMPPacket(
|
||||
BOOLEAN PrepareICMPPacket(
|
||||
PIP_INTERFACE Interface,
|
||||
PIP_PACKET IPPacket,
|
||||
PIP_ADDRESS Destination,
|
||||
|
@ -57,6 +57,8 @@ PIP_PACKET PrepareICMPPacket(
|
|||
|
||||
TI_DbgPrint(DEBUG_ICMP, ("Called. DataSize (%d).\n", DataSize));
|
||||
|
||||
IPInitializePacket(IPPacket, IP_ADDRESS_V4);
|
||||
|
||||
/* No special flags */
|
||||
IPPacket->Flags = 0;
|
||||
|
||||
|
@ -65,7 +67,7 @@ PIP_PACKET PrepareICMPPacket(
|
|||
/* Allocate NDIS packet */
|
||||
NdisStatus = AllocatePacketWithBuffer( &NdisPacket, NULL, Size );
|
||||
|
||||
if( !NT_SUCCESS(NdisStatus) ) return NULL;
|
||||
if( !NT_SUCCESS(NdisStatus) ) return FALSE;
|
||||
|
||||
IPPacket->NdisPacket = NdisPacket;
|
||||
|
||||
|
@ -114,7 +116,7 @@ PIP_PACKET PrepareICMPPacket(
|
|||
|
||||
TI_DbgPrint(MID_TRACE,("Leaving\n"));
|
||||
|
||||
return IPPacket;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -46,6 +46,9 @@ VOID LoopTransmit(
|
|||
return;
|
||||
}
|
||||
|
||||
/* FIXME: IPv4 only */
|
||||
IPInitializePacket(&IPPacket, IP_ADDRESS_V4);
|
||||
|
||||
NdisGetFirstBufferFromPacket(XmitPacket,
|
||||
&NdisBuffer,
|
||||
&IPPacket.Header,
|
||||
|
|
|
@ -608,11 +608,13 @@ VOID IPReceive( PIP_INTERFACE IF, PIP_PACKET IPPacket )
|
|||
case 6:
|
||||
IPPacket->Type = IP_ADDRESS_V6;
|
||||
TI_DbgPrint(MAX_TRACE, ("Datagram of type IPv6 discarded.\n"));
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
TI_DbgPrint(MIN_TRACE, ("Datagram has an unsupported IP version %d.\n", Version));
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
IPPacket->Free(IPPacket);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -107,8 +107,6 @@ NTSTATUS BuildRawIpPacket(
|
|||
|
||||
/* FIXME: Assumes IPv4 */
|
||||
IPInitializePacket(Packet, IP_ADDRESS_V4);
|
||||
if (!Packet)
|
||||
return STATUS_INSUFFICIENT_RESOURCES;
|
||||
|
||||
Packet->TotalSize = sizeof(IPv4_HEADER) + DataLen;
|
||||
|
||||
|
|
|
@ -88,8 +88,6 @@ NTSTATUS BuildUDPPacket(
|
|||
|
||||
/* FIXME: Assumes IPv4 */
|
||||
IPInitializePacket(Packet, IP_ADDRESS_V4);
|
||||
if (!Packet)
|
||||
return STATUS_INSUFFICIENT_RESOURCES;
|
||||
|
||||
Packet->TotalSize = sizeof(IPv4_HEADER) + sizeof(UDP_HEADER) + DataLen;
|
||||
|
||||
|
|
Loading…
Reference in a new issue