From owner-freebsd-bugs@FreeBSD.ORG Mon Nov 17 04:40:02 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 077041065670 for ; Mon, 17 Nov 2008 04:40:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CE1058FC19 for ; Mon, 17 Nov 2008 04:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id mAH4e13A052915 for ; Mon, 17 Nov 2008 04:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id mAH4e1kH052914; Mon, 17 Nov 2008 04:40:01 GMT (envelope-from gnats) Resent-Date: Mon, 17 Nov 2008 04:40:01 GMT Resent-Message-Id: <200811170440.mAH4e1kH052914@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, "J.R. Oldroyd" Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAB271065672 for ; Mon, 17 Nov 2008 04:37:15 +0000 (UTC) (envelope-from jr@opal.com) Received: from smtp.vzavenue.net (smtp.vzavenue.net [66.171.59.140]) by mx1.freebsd.org (Postfix) with ESMTP id 914BF8FC08 for ; Mon, 17 Nov 2008 04:37:15 +0000 (UTC) (envelope-from jr@opal.com) Received: from 74.79.171.66.subscriber.vzavenue.net (HELO homobox.opal.com) ([66.171.79.74]) by smtp.vzavenue.net with ESMTP; 16 Nov 2008 23:37:05 -0500 Received: from vougeot.opal.com (localhost [127.0.0.1]) (authenticated bits=0) by homobox.opal.com (8.14.2/8.14.2) with ESMTP id mAH4b3nP092225 for ; Sun, 16 Nov 2008 23:37:03 -0500 (EST) (envelope-from jr@opal.com) Received: from vougeot.opal.com ([72.68.207.21] helo=vougeot.opal.com) by ASSP-nospam; 16 Nov 2008 23:37:03 -0500 Received: from vougeot.opal.com (localhost [127.0.0.1]) by vougeot.opal.com (8.14.2/8.14.2) with ESMTP id mAH4bbrS079423 for ; Sun, 16 Nov 2008 23:37:37 -0500 (EST) (envelope-from jr@opal.com) Received: (from jr@localhost) by vougeot.opal.com (8.14.2/8.14.2/Submit) id mAH4ZUw9079321; Sun, 16 Nov 2008 23:35:30 -0500 (EST) (envelope-from jr) Message-Id: <200811170435.mAH4ZUw9079321@vougeot.opal.com> Date: Sun, 16 Nov 2008 23:35:30 -0500 (EST) From: "J.R. Oldroyd" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/128934: cd9660 timezone offset sign extension error X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "J.R. Oldroyd" List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Nov 2008 04:40:02 -0000 >Number: 128934 >Category: kern >Synopsis: cd9660 timezone offset sign extension error >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Nov 17 04:40:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: J.R. Oldroyd >Release: FreeBSD 7.1-PRERELEASE i386 >Organization: >Environment: System: FreeBSD vougeot.opal.com 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #9: Wed Oct 29 21:37:25 EDT 2008 xx@vougeot.opal.com:/usr/src/sys/i386/compile/VOUGEOT i386 >Description: ISO 9660 images with non-GMT timeztamps show double tz offset in areas west of GMT [patch] >How-To-Repeat: Set timezone to anything west of GMT. Create an ISO image using a libisofs application, e.g., xorriso or xfburn. Mount ISO image. Examine file timestamps. They will show 2x GMT offset. >Fix: Problem is that libisofs writes file timestamps in the ISO image using local time together with the GMT offset, as is permitted by ISO standard. Code in cd9660 driver treats GMT offset value as unsigned, then converts to signed without cast causing sign-extension and invalid timezone value which is then ignored. Effect is file timestamps are not corrected for timezone info in ISO. The simple patch below fixes it. --- fs/cd9660/cd9660_node.c.orig 2007-02-11 08:54:25.000000000 -0500 +++ fs/cd9660/cd9660_node.c 2008-11-15 12:30:19.000000000 -0500 @@ -242,7 +242,7 @@ minute = pi[4]; second = pi[5]; if(ftype != ISO_FTYPE_HIGH_SIERRA) - tz = pi[6]; + tz = ((char *) pi)[6]; else /* original high sierra misses timezone data */ tz = 0; >Release-Note: >Audit-Trail: >Unformatted: