From owner-freebsd-hackers Thu Mar 23 10:55:41 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 9671D37C6E6 for ; Thu, 23 Mar 2000 10:55:38 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id KAA02948; Thu, 23 Mar 2000 10:55:38 -0800 (PST) (envelope-from dillon) Date: Thu, 23 Mar 2000 10:55:38 -0800 (PST) From: Matthew Dillon Message-Id: <200003231855.KAA02948@apollo.backplane.com> To: Matthew Dillon Cc: Jim Mercer , hackers@FreeBSD.ORG Subject: Re: Doh, compiler bug... (was Re: possible bug in kernel/if_ether.c) References: <20000322225639.T983@reptiles.org> <200003230515.VAA96507@apollo.backplane.com> <20000323054731.W983@reptiles.org> <200003231829.KAA02591@apollo.backplane.com> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message