mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 03:12:59 +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,
|
SenderHWAddress,
|
||||||
LAN_PROTO_ARP);
|
LAN_PROTO_ARP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Packet->Free(Packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -34,7 +34,7 @@ VOID SendICMPComplete(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PIP_PACKET PrepareICMPPacket(
|
BOOLEAN PrepareICMPPacket(
|
||||||
PIP_INTERFACE Interface,
|
PIP_INTERFACE Interface,
|
||||||
PIP_PACKET IPPacket,
|
PIP_PACKET IPPacket,
|
||||||
PIP_ADDRESS Destination,
|
PIP_ADDRESS Destination,
|
||||||
|
@ -57,6 +57,8 @@ PIP_PACKET PrepareICMPPacket(
|
||||||
|
|
||||||
TI_DbgPrint(DEBUG_ICMP, ("Called. DataSize (%d).\n", DataSize));
|
TI_DbgPrint(DEBUG_ICMP, ("Called. DataSize (%d).\n", DataSize));
|
||||||
|
|
||||||
|
IPInitializePacket(IPPacket, IP_ADDRESS_V4);
|
||||||
|
|
||||||
/* No special flags */
|
/* No special flags */
|
||||||
IPPacket->Flags = 0;
|
IPPacket->Flags = 0;
|
||||||
|
|
||||||
|
@ -65,7 +67,7 @@ PIP_PACKET PrepareICMPPacket(
|
||||||
/* Allocate NDIS packet */
|
/* Allocate NDIS packet */
|
||||||
NdisStatus = AllocatePacketWithBuffer( &NdisPacket, NULL, Size );
|
NdisStatus = AllocatePacketWithBuffer( &NdisPacket, NULL, Size );
|
||||||
|
|
||||||
if( !NT_SUCCESS(NdisStatus) ) return NULL;
|
if( !NT_SUCCESS(NdisStatus) ) return FALSE;
|
||||||
|
|
||||||
IPPacket->NdisPacket = NdisPacket;
|
IPPacket->NdisPacket = NdisPacket;
|
||||||
|
|
||||||
|
@ -114,7 +116,7 @@ PIP_PACKET PrepareICMPPacket(
|
||||||
|
|
||||||
TI_DbgPrint(MID_TRACE,("Leaving\n"));
|
TI_DbgPrint(MID_TRACE,("Leaving\n"));
|
||||||
|
|
||||||
return IPPacket;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,9 @@ VOID LoopTransmit(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FIXME: IPv4 only */
|
||||||
|
IPInitializePacket(&IPPacket, IP_ADDRESS_V4);
|
||||||
|
|
||||||
NdisGetFirstBufferFromPacket(XmitPacket,
|
NdisGetFirstBufferFromPacket(XmitPacket,
|
||||||
&NdisBuffer,
|
&NdisBuffer,
|
||||||
&IPPacket.Header,
|
&IPPacket.Header,
|
||||||
|
|
|
@ -608,11 +608,13 @@ VOID IPReceive( PIP_INTERFACE IF, PIP_PACKET IPPacket )
|
||||||
case 6:
|
case 6:
|
||||||
IPPacket->Type = IP_ADDRESS_V6;
|
IPPacket->Type = IP_ADDRESS_V6;
|
||||||
TI_DbgPrint(MAX_TRACE, ("Datagram of type IPv6 discarded.\n"));
|
TI_DbgPrint(MAX_TRACE, ("Datagram of type IPv6 discarded.\n"));
|
||||||
return;
|
break;
|
||||||
default:
|
default:
|
||||||
TI_DbgPrint(MIN_TRACE, ("Datagram has an unsupported IP version %d.\n", Version));
|
TI_DbgPrint(MIN_TRACE, ("Datagram has an unsupported IP version %d.\n", Version));
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IPPacket->Free(IPPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -107,8 +107,6 @@ NTSTATUS BuildRawIpPacket(
|
||||||
|
|
||||||
/* FIXME: Assumes IPv4 */
|
/* FIXME: Assumes IPv4 */
|
||||||
IPInitializePacket(Packet, IP_ADDRESS_V4);
|
IPInitializePacket(Packet, IP_ADDRESS_V4);
|
||||||
if (!Packet)
|
|
||||||
return STATUS_INSUFFICIENT_RESOURCES;
|
|
||||||
|
|
||||||
Packet->TotalSize = sizeof(IPv4_HEADER) + DataLen;
|
Packet->TotalSize = sizeof(IPv4_HEADER) + DataLen;
|
||||||
|
|
||||||
|
|
|
@ -88,8 +88,6 @@ NTSTATUS BuildUDPPacket(
|
||||||
|
|
||||||
/* FIXME: Assumes IPv4 */
|
/* FIXME: Assumes IPv4 */
|
||||||
IPInitializePacket(Packet, IP_ADDRESS_V4);
|
IPInitializePacket(Packet, IP_ADDRESS_V4);
|
||||||
if (!Packet)
|
|
||||||
return STATUS_INSUFFICIENT_RESOURCES;
|
|
||||||
|
|
||||||
Packet->TotalSize = sizeof(IPv4_HEADER) + sizeof(UDP_HEADER) + DataLen;
|
Packet->TotalSize = sizeof(IPv4_HEADER) + sizeof(UDP_HEADER) + DataLen;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue