From owner-freebsd-bugs@FreeBSD.ORG Tue May 8 14:10:04 2007 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 36F8F16A401 for ; Tue, 8 May 2007 14:10:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id F235D13C459 for ; Tue, 8 May 2007 14:10:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l48EA3np086104 for ; Tue, 8 May 2007 14:10:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l48EA3Rl086103; Tue, 8 May 2007 14:10:03 GMT (envelope-from gnats) Resent-Date: Tue, 8 May 2007 14:10:03 GMT Resent-Message-Id: <200705081410.l48EA3Rl086103@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Spencer Minear Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8A79416A400 for ; Tue, 8 May 2007 14:03:57 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [69.147.83.33]) by mx1.freebsd.org (Postfix) with ESMTP id 792C513C45B for ; Tue, 8 May 2007 14:03:57 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id l48E3vnF013484 for ; Tue, 8 May 2007 14:03:57 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id l48DwvQ3097134; Tue, 8 May 2007 13:58:57 GMT (envelope-from nobody) Message-Id: <200705081358.l48DwvQ3097134@www.freebsd.org> Date: Tue, 8 May 2007 13:58:57 GMT From: Spencer Minear To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.0 Cc: Subject: misc/112521: exit code from tar -tf is not non-zero when an error is detected X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 May 2007 14:10:04 -0000 >Number: 112521 >Category: misc >Synopsis: exit code from tar -tf is not non-zero when an error is detected >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue May 08 14:10:03 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Spencer Minear >Release: Seen on FreeBSD 6.0, but appears to still be present in current >Organization: Secure Computing Corp >Environment: FreeBSD nowind2.scur.com 6.0-RELEASE FreeBSD 6.0-RELEASE >Description: If you run tar -tvf archive_file on an archive that is bad or truncated tar will write an error message like: "tar: (Empty error message)" for a tar file or "tar: Truncated ZIP file body: Inappropriate file type or format" for a ZIP file. BUT in both cases the exit code after this "error" is 0. This appears to be inconsistent with the information in the tar manual page which says that "The tar utility exits 0 on success, and >0 if an error occurs." >How-To-Repeat: Use an editor of choice to bugger up or truncate a tarball and use tar to get a listing of contents and check the exit status from the command. >Fix: In the usr.bin/tar/read.c file when running in the 't' mode if archive_read_data_skip returns an ARCHIVE_FATAL status wet the bsdtar retgurn_value to 1. @@ -184,6 +184,7 @@ } if (r == ARCHIVE_FATAL) { fprintf(out, "\n"); + bsdtar->return_value = 1; bsdtar_warnc(bsdtar, 0, "%s", archive_error_string(a)); break; >Release-Note: >Audit-Trail: >Unformatted: