diff options
author | wes <wes@FreeBSD.org> | 2000-04-11 06:55:09 +0000 |
---|---|---|
committer | wes <wes@FreeBSD.org> | 2000-04-11 06:55:09 +0000 |
commit | 6944dfb6ec65914c5f49a5b599451fb0040c811b (patch) | |
tree | a3eff1529db05acce851dd3a8e61f37b21924d5a | |
parent | c0e0cff43c74fc168b7f6032c9b8e78eddfac08f (diff) | |
download | FreeBSD-src-6944dfb6ec65914c5f49a5b599451fb0040c811b.zip FreeBSD-src-6944dfb6ec65914c5f49a5b599451fb0040c811b.tar.gz |
PR: kern/17872
Submitted by: csg@waterspout.com (C. Stephen Gunn)
-rw-r--r-- | sys/netinet/if_ether.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index b6d9827..1125455 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -432,9 +432,9 @@ arpresolve(ac, rt, m, dst, desten, rt0) static void arpintr() { - register struct mbuf *m, *m0; + register struct mbuf *m; register struct arphdr *ar; - int s, ml; + int s; while (arpintrq.ifq_head) { s = splimp(); @@ -459,14 +459,7 @@ arpintr() continue; } - m0 = m; - ml = 0; - while (m0 != NULL) { - ml += m0->m_len; /* wanna implement m_size?? */ - m0 = m0->m_next; - } - - if (ml < sizeof(struct arphdr) + 2 * ar->ar_hln + if (m->m_pkthdr.len < sizeof(struct arphdr) + 2 * ar->ar_hln + 2 * ar->ar_pln) { log(LOG_ERR, "arp: runt packet\n"); m_freem(m); |