From owner-freebsd-bugs@FreeBSD.ORG Mon Mar 15 16:10:05 2004 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 226A516A4CE for ; Mon, 15 Mar 2004 16:10:05 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18E1C43D2D for ; Mon, 15 Mar 2004 16:10:05 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i2G0A4bv002812 for ; Mon, 15 Mar 2004 16:10:04 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i2G0A4uJ002811; Mon, 15 Mar 2004 16:10:04 -0800 (PST) (envelope-from gnats) Date: Mon, 15 Mar 2004 16:10:04 -0800 (PST) Message-Id: <200403160010.i2G0A4uJ002811@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Chris Pressey Subject: Re: bin/63405: make dumps core X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Chris Pressey List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Mar 2004 00:10:05 -0000 The following reply was made to PR bin/63405; it has been noted by GNATS. From: Chris Pressey To: freebsd-gnats-submit@FreeBSD.org, hsn@netmag.cz Cc: Subject: Re: bin/63405: make dumps core Date: Mon, 15 Mar 2004 16:06:48 -0800 This is a multi-part message in MIME format. --Multipart=_Mon__15_Mar_2004_16_06_48_-0800_K5uBXaHLgD87mT7a Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi, This problem is exhibited on FreeBSD 4.9 as well. It appears to stem from a NULL pointer dereference. Please review the attached patch. -Chris --Multipart=_Mon__15_Mar_2004_16_06_48_-0800_K5uBXaHLgD87mT7a Content-Type: text/plain; name="suff.c.diff" Content-Disposition: attachment; filename="suff.c.diff" Content-Transfer-Encoding: 7bit --- suff.c.orig Thu Mar 8 17:13:24 2001 +++ suff.c Mon Mar 15 16:02:16 2004 @@ -379,7 +379,12 @@ Lst l; Suff *s; { - LstNode ln = Lst_Member(l, (ClientData)s); + LstNode ln; + + if (s == NULL) + return; + + ln = Lst_Member(l, (ClientData)s); if (ln != NILLNODE) { Lst_Remove(l, ln); s->refCount--; @@ -683,12 +688,14 @@ * We'll be called twice when the next target is seen, but .c and .o * are only linked once... */ - SuffRemove(t->children, s); + if (t != NULL) + SuffRemove(t->children, s); /* * Remove the target from the source's parents list */ - SuffRemove(s->parents, t); + if (s != NULL) + SuffRemove(s->parents, t); } else if ((gn->type & OP_TRANSFORM) && DEBUG(SUFF)) { printf("transformation %s complete\n", gn->name); } --Multipart=_Mon__15_Mar_2004_16_06_48_-0800_K5uBXaHLgD87mT7a--