[ros-diffs] [cgutman] 38158: Check the status of IPSendDatagram
cgutman at svn.reactos.org
cgutman at svn.reactos.org
Wed Dec 17 21:48:53 CET 2008
Author: cgutman
Date: Wed Dec 17 14:48:52 2008
New Revision: 38158
URL: http://svn.reactos.org/svn/reactos?rev=38158&view=rev
Log:
Check the status of IPSendDatagram
Modified:
branches/aicom-network-fixes/lib/drivers/ip/transport/rawip/rawip.c
branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/event.c
branches/aicom-network-fixes/lib/drivers/ip/transport/udp/udp.c
Modified: branches/aicom-network-fixes/lib/drivers/ip/transport/rawip/rawip.c
URL: http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/lib/drivers/ip/transport/rawip/rawip.c?rev=38158&r1=38157&r2=38158&view=diff
==============================================================================
--- branches/aicom-network-fixes/lib/drivers/ip/transport/rawip/rawip.c [iso-8859-1] (original)
+++ branches/aicom-network-fixes/lib/drivers/ip/transport/rawip/rawip.c [iso-8859-1] Wed Dec 17 14:48:52 2008
@@ -230,7 +230,11 @@
TI_DbgPrint(MID_TRACE,("About to send datagram\n"));
- IPSendDatagram( &Packet, NCE, RawIpSendPacketComplete, NULL );
+ if (!NT_SUCCESS(Status = IPSendDatagram( &Packet, NCE, RawIpSendPacketComplete, NULL )))
+ {
+ FreeNdisPacket(Packet.NdisPacket);
+ return Status;
+ }
TI_DbgPrint(MID_TRACE,("Leaving\n"));
Modified: branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/event.c
URL: http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/event.c?rev=38158&r1=38157&r2=38158&view=diff
==============================================================================
--- branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/event.c [iso-8859-1] (original)
+++ branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/event.c [iso-8859-1] Wed Dec 17 14:48:52 2008
@@ -64,6 +64,7 @@
IP_PACKET Packet = { 0 };
IP_ADDRESS RemoteAddress, LocalAddress;
PIPv4_HEADER Header;
+ NTSTATUS Status;
if( *data == 0x45 ) { /* IPv4 */
Header = (PIPv4_HEADER)data;
@@ -102,7 +103,11 @@
Packet.SrcAddr = LocalAddress;
Packet.DstAddr = RemoteAddress;
- IPSendDatagram( &Packet, NCE, TCPPacketSendComplete, NULL );
+ if (!NT_SUCCESS(Status = IPSendDatagram( &Packet, NCE, TCPPacketSendComplete, NULL )))
+ {
+ FreeNdisPacket(Packet.NdisPacket);
+ return OSK_EINVAL;
+ }
return 0;
}
Modified: branches/aicom-network-fixes/lib/drivers/ip/transport/udp/udp.c
URL: http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/lib/drivers/ip/transport/udp/udp.c?rev=38158&r1=38157&r2=38158&view=diff
==============================================================================
--- branches/aicom-network-fixes/lib/drivers/ip/transport/udp/udp.c [iso-8859-1] (original)
+++ branches/aicom-network-fixes/lib/drivers/ip/transport/udp/udp.c [iso-8859-1] Wed Dec 17 14:48:52 2008
@@ -200,7 +200,11 @@
return STATUS_UNSUCCESSFUL;
}
- IPSendDatagram( &Packet, NCE, UDPSendPacketComplete, NULL );
+ if (!NT_SUCCESS(Status = IPSendDatagram( &Packet, NCE, UDPSendPacketComplete, NULL )))
+ {
+ FreeNdisPacket(Packet.NdisPacket);
+ return Status;
+ }
return STATUS_SUCCESS;
}
More information about the Ros-diffs
mailing list