patch-2.1.127 linux/net/ipv4/tcp_ipv4.c
Next file: linux/net/ipv4/tcp_output.c
Previous file: linux/net/ipv4/tcp_input.c
Back to the patch index
Back to the overall index
- Lines: 27
- Date:
Sat Nov 7 11:00:32 1998
- Orig file:
v2.1.126/linux/net/ipv4/tcp_ipv4.c
- Orig date:
Mon Oct 5 13:13:48 1998
diff -u --recursive --new-file v2.1.126/linux/net/ipv4/tcp_ipv4.c linux/net/ipv4/tcp_ipv4.c
@@ -5,7 +5,7 @@
*
* Implementation of the Transmission Control Protocol(TCP).
*
- * Version: $Id: tcp_ipv4.c,v 1.161 1998/10/03 09:38:05 davem Exp $
+ * Version: $Id: tcp_ipv4.c,v 1.162 1998/11/07 11:50:26 davem Exp $
*
* IPv4 specific functions
*
@@ -1633,6 +1633,9 @@
/* Count it even if it's bad */
tcp_statistics.TcpInSegs++;
+ if (len < sizeof(struct tcphdr))
+ goto bad_packet;
+
/* Try to use the device checksum if provided. */
switch (skb->ip_summed) {
case CHECKSUM_NONE:
@@ -1647,6 +1650,7 @@
ntohs(th->dest),
len, skb->len,
ntohs(skb->nh.iph->tot_len));
+ bad_packet:
tcp_statistics.TcpInErrs++;
goto discard_it;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov