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

Reply via email to