I found it. The code itself is broken. I missed the lack of parens.
if (m->m_len < sizeof(struct arphdr) &&
(m = m_pullup(m, sizeof(struct arphdr)) == NULL)) {
log(LOG_ERR, "arp: runt packet -- m_pullup failed.");
continue;
Should be:
if (m->m_len < sizeof(struct arphdr) &&
((m = m_pullup(m, sizeof(struct arphdr))) == NULL)) {
log(LOG_ERR, "arp: runt packet -- m_pullup failed.");
continue;
I'm committing the fix now.
-Matt
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message
- possible bug in kernel/if_ether.c Jim Mercer
- Re: possible bug in kernel/if_ether.c Matthew Dillon
- Re: possible bug in kernel/if_ether.c Jim Mercer
- Doh, compiler bug... (was Re: possible bug ... Matthew Dillon
- Re: Doh, compiler bug... (was Re: possi... Matthew Dillon
- Re: Doh, compiler bug... (was Re: ... Nate Williams
- Re: Doh, compiler bug... (was ... Nate Williams
- Re: Doh, compiler bug... (... Jim Mercer
- Re: Doh, compiler bug... (... Nate Williams
- Re: Doh, compiler bug... (... Jim Mercer
- Re: Doh, compiler bug... (... Matthew Dillon
- Re: Doh, compiler bug... (was Re: ... Daniel C. Sobral
- Re: Doh, compiler bug... (was Re: possi... Thomas M. Sommers
- Re: Doh, compiler bug... (was Re: possi... Jim Mercer

