*** net/inet/ip.c.orig Tue May 30 06:33:31 1995 --- net/inet/ip.c Wed Nov 13 10:48:33 1996 *************** *** 947,952 **** --- 947,965 ---- return NULL; } } + + /* + * Attempt to construct an oversize packet. + */ + + if (ntohs(iph->tot_len)+offset>65535) + { + printk("Oversized IP packet from %s.\n", in_ntoa(iph->saddr)); + skb->sk = NULL; + kfree_skb(skb, FREE_READ); + ip_statistics.IpReasmFails++; + return NULL; + } /* * Determine the position of this fragment.