From owner-freebsd-bugs@FreeBSD.ORG Thu Mar 17 20:25:38 2005 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F0D1D16A4CE; Thu, 17 Mar 2005 20:25:38 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id D69D643D3F; Thu, 17 Mar 2005 20:25:38 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from freefall.freebsd.org (glebius@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j2HKPcsw097650; Thu, 17 Mar 2005 20:25:38 GMT (envelope-from glebius@freefall.freebsd.org) Received: (from glebius@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j2HKPcV7097646; Thu, 17 Mar 2005 20:25:38 GMT (envelope-from glebius) Date: Thu, 17 Mar 2005 20:25:38 GMT From: Gleb Smirnoff Message-Id: <200503172025.j2HKPcV7097646@freefall.freebsd.org> To: glebius@FreeBSD.org, freebsd-bugs@FreeBSD.org, andre@FreeBSD.org Subject: Re: kern/78893: [patch] ip_fastfwd.c: fast forward will crash the system in 5.x. X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Mar 2005 20:25:39 -0000 Synopsis: [patch] ip_fastfwd.c: fast forward will crash the system in 5.x. Responsible-Changed-From-To: freebsd-bugs->andre Responsible-Changed-By: glebius Responsible-Changed-When: Thu Mar 17 20:16:46 GMT 2005 Responsible-Changed-Why: Good catch, thanks! Your patch is correct, but I'd better don't use assignment as boolean expression. I suggest this patch: diff -u -r1.26 ip_fastfwd.c --- ip_fastfwd.c 7 Jan 2005 01:45:44 -0000 1.26 +++ ip_fastfwd.c 17 Mar 2005 20:13:52 -0000 @@ -594,9 +594,8 @@ } while ((m = m0) != NULL); if (error) { /* Reclaim remaining fragments */ - for (; m; m = m0) { + for (m = m0; m; m = m0) { m0 = m->m_nextpkt; - m->m_nextpkt = NULL; m_freem(m); } } else I think it is more clear. It also removes redundant assignment. I pass the PR and patch for Andre review, who is author of this file. http://www.freebsd.org/cgi/query-pr.cgi?pr=78893