> >     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;
> 
> Umm, I see what you've done, but doesn't == have greater precedence than
> &&, so the code was fine as it was, wasn't it?

Never mind, I missed the paren.  However, I would have written the fix
as follow so I wouldn't have missed the fix. :)

                 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;
 
To each his own. :)


Nate


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to