patch-2.4.18 linux/net/ipv4/udp.c
Next file: linux/net/ipv6/ndisc.c
Previous file: linux/net/ipv4/tcp_ipv4.c
Back to the patch index
Back to the overall index
- Lines: 27
- Date:
Mon Feb 4 16:38:42 2002
- Orig file:
linux.orig/net/ipv4/udp.c
- Orig date:
Mon Feb 18 20:18:40 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/net/ipv4/udp.c linux/net/ipv4/udp.c
@@ -5,7 +5,7 @@
*
* The User Datagram Protocol (UDP).
*
- * Version: $Id: udp.c,v 1.100 2001/10/15 12:34:50 davem Exp $
+ * Version: $Id: udp.c,v 1.100.2.1 2002/01/12 07:39:23 davem Exp $
*
* Authors: Ross Biro, <bir7@leland.Stanford.Edu>
* Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
@@ -886,6 +886,9 @@
/*
* Validate the packet and the UDP length.
*/
+ if (!pskb_may_pull(skb, sizeof(struct udphdr)))
+ goto no_header;
+
ulen = ntohs(skb->h.uh->len);
if (ulen > len || ulen < sizeof(*uh))
@@ -926,6 +929,7 @@
short_packet:
NETDEBUG(if (net_ratelimit()) printk(KERN_DEBUG "UDP: short packet: %d/%d\n", ulen, len));
+no_header:
UDP_INC_STATS_BH(UdpInErrors);
kfree_skb(skb);
return(0);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)