Only pay attention to the offset and the IP_MF flag in ip_off. Pointed

out by Nathaniel D. Daw (daw@panix.com), but fixed differently by me.
This commit is contained in:
David Greenman 1996-12-11 03:26:36 +00:00
parent 706553b718
commit c7a6ccb33e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=20308

View file

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ip_input.c 8.2 (Berkeley) 1/4/94
* $Id: ip_input.c,v 1.50 1996/10/25 17:57:45 fenner Exp $
* $Id: ip_input.c,v 1.51 1996/11/11 04:56:15 fenner Exp $
* $ANA: ip_input.c,v 1.5 1996/09/18 14:34:59 wollman Exp $
*/
@ -439,7 +439,7 @@ ip_input(struct mbuf *m)
* if the packet was previously fragmented,
* but it's not worth the time; just let them time out.)
*/
if (ip->ip_off &~ IP_DF) {
if (ip->ip_off & (IP_MF | IP_OFFMASK)) {
if (m->m_flags & M_EXT) { /* XXX */
if ((m = m_pullup(m, sizeof (struct ip))) == 0) {
ipstat.ips_toosmall++;