From owner-svn-src-all@FreeBSD.ORG Sat Dec 17 12:26:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE519106566B; Sat, 17 Dec 2011 12:26:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 7DFD78FC0C; Sat, 17 Dec 2011 12:26:50 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:34d8:b0a6:3463:89c2] (unknown [IPv6:2001:7b8:3a7:0:34d8:b0a6:3463:89c2]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 963215C37; Sat, 17 Dec 2011 13:26:49 +0100 (CET) Message-ID: <4EEC8A90.9000102@FreeBSD.org> Date: Sat, 17 Dec 2011 13:26:56 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20111130 Thunderbird/9.0 MIME-Version: 1.0 To: Kostik Belousov References: <201112170136.pBH1apEH036884@svn.freebsd.org> <20111217083355.GZ50300@deviant.kiev.zoral.com.ua> In-Reply-To: <20111217083355.GZ50300@deviant.kiev.zoral.com.ua> X-Enigmail-Version: 1.3.4 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Tim Kientzle Subject: Re: svn commit: r228616 - head/usr.bin/tar X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Dec 2011 12:26:50 -0000 On 2011-12-17 09:33, Kostik Belousov wrote: >> const char *msg = "Unable to continue traversing" >> " directory hierarchy after a fatal error."; >> write(2, msg, strlen(msg)); >> - *(int *)0 = 1; /* Deliberate SEGV; NULL pointer dereference. */ >> + *(volatile int *)0 = 1; /* Deliberate SEGV; NULL pointer dereference. */ >> exit(1); /* In case the SEGV didn't work. */ >> } >> > Why this hack is used instead of abort(3) or abort2(2) ? No idea, but it seems to be done that way now in upstream: http://code.google.com/p/libarchive/source/browse/trunk/tar/tree.c#423 I didn't want to change the intent of the code at this time, just fix warnings. Maybe Tim will import another drop of libarchive soon.