audk/NetworkPkg/TcpDxe
Fu Siyuan 37b680116d NetworkPkg: Check received packet size before use it.
Arbitrary length of packet may be received from network, including the
packets with zero payload data or malformed protocol header. So the code
much check the actually received data size before using it. For example, in
current edk2 network stack, an zero payload UDP packet may cause the
platform ASSERT in NetbufFromExt() because of the zero fragment number.
This patch update the IpIoLib and UdpIoLib to check and discard the zero
payload data packet to avoid above assert. Some other network drivers are
also updated to check the packet size to guarantee the minimum length of
protocol header is received from upper layer driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Sriram Subramanian <sriram-s@hpe.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
2016-04-01 13:30:23 +08:00
..
ComponentName.c Initialize data and correct faulty logic in TcpComponentNameGetControllerName(). 2015-02-04 06:42:43 +00:00
SockImpl.c 1. Fix a bug in PXE driver that the PXE boot do not restart if a new boot option on the different IP stack is selected. 2012-10-17 08:23:41 +00:00
SockImpl.h Add NetworkPkg (P.UDK2010.UP3.Network.P1) 2010-11-01 06:13:54 +00:00
SockInterface.c 1. Add EFI_COMPONENT_NAME2_PROTOCOL.GetControllerName() support. 2012-12-13 06:47:06 +00:00
Socket.h 1. Add EFI_COMPONENT_NAME2_PROTOCOL.GetControllerName() support. 2012-12-13 06:47:06 +00:00
TcpDispatcher.c NetworkPkg: Source fixes and cleanup for ARMGCC compiles 2014-12-04 00:55:50 +00:00
TcpDriver.c 1. Mark the network volatile variables as deprecated in code comments and remove related code to set/get these variable. 2014-05-07 06:17:31 +00:00
TcpDriver.h 1. Mark the network volatile variables as deprecated in code comments and remove related code to set/get these variable. 2014-05-07 06:17:31 +00:00
TcpDxe.inf NetworkPkg: INF/DEC file updates to EDK II packages 2014-08-28 05:23:58 +00:00
TcpDxe.uni NetworkPkg: Convert all .uni files to utf-8 2015-12-15 04:56:57 +00:00
TcpDxeExtra.uni NetworkPkg: Convert all .uni files to utf-8 2015-12-15 04:56:57 +00:00
TcpFunc.h 1. Mark the network volatile variables as deprecated in code comments and remove related code to set/get these variable. 2014-05-07 06:17:31 +00:00
TcpInput.c NetworkPkg: Check received packet size before use it. 2016-04-01 13:30:23 +08:00
TcpIo.c Fix issue that TCP server will not response to SYN packet from TCP client in TCP6 module. 2012-08-10 06:32:15 +00:00
TcpMain.c Fix GCC hang issue: Point should use directly assignment instead of IP4_COPY_ADDRESS. 2015-03-18 02:53:09 +00:00
TcpMain.h 1. Add EFI_COMPONENT_NAME2_PROTOCOL.GetControllerName() support. 2012-12-13 06:47:06 +00:00
TcpMisc.c NetworkPkg:Fix Network memory leak when calling GetModeData interface 2016-01-28 02:32:43 +00:00
TcpOption.c Add NetworkPkg (P.UDK2010.UP3.Network.P1) 2010-11-01 06:13:54 +00:00
TcpOption.h Add NetworkPkg (P.UDK2010.UP3.Network.P1) 2010-11-01 06:13:54 +00:00
TcpOutput.c Add NetworkPkg (P.UDK2010.UP3.Network.P1) 2010-11-01 06:13:54 +00:00
TcpProto.h Fix issue that TCP server will not response to SYN packet from TCP client in TCP6 module. 2012-08-10 06:32:15 +00:00
TcpTimer.c Add NetworkPkg (P.UDK2010.UP3.Network.P1) 2010-11-01 06:13:54 +00:00