From owner-freebsd-bugs Thu Jan 14 21:30:47 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA19936 for freebsd-bugs-outgoing; Thu, 14 Jan 1999 21:30:47 -0800 (PST) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA19872 for ; Thu, 14 Jan 1999 21:30:41 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id VAA16853; Thu, 14 Jan 1999 21:30:04 -0800 (PST) Received: from alcanet.com.au (border.alcanet.com.au [203.62.196.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA19249 for ; Thu, 14 Jan 1999 21:27:10 -0800 (PST) (envelope-from peter.jeremy@auss2.alcatel.com.au) Received: by border.alcanet.com.au id <40330>; Fri, 15 Jan 1999 16:25:11 +1100 Message-Id: <99Jan15.162511est.40330@border.alcanet.com.au> Date: Fri, 15 Jan 1999 16:25:48 +1100 From: Peter Jeremy Reply-To: peter.jeremy@alcatel.com.au To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: bin/9506: cron(8) is not Y2K compliant Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 9506 >Category: bin >Synopsis: cron(8) is not Y2K compliant >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: Thu Jan 14 21:30:03 PST 1999 >Closed-Date: >Last-Modified: >Originator: Peter Jeremy >Release: FreeBSD 3.0-CURRENT i386 >Organization: Alcatel Australia >Environment: >Description: cron(8) uses a raw tm_year and will therefore display 100 for 2000. Use snprintf to protect against excessively long timezone names. >How-To-Repeat: Code inspection >Fix: --- /3.0/src/usr.sbin/cron/lib/misc.c Mon Sep 15 16:39:25 1997 +++ ./misc.c Fri Jan 15 14:48:23 1999 @@ -619,9 +619,12 @@ { time_t t = clock ?*clock :time(0L); struct tm *tm = localtime(&t); - static char ret[30]; /* zone name might be >3 chars */ + static char ret[32]; /* zone name might be >3 chars */ - (void) sprintf(ret, "%s, %2d %s %2d %02d:%02d:%02d %s", + if (tm->tm_year >= 100) + tm->tm_year += 1900; + + (void) snprintf(ret, sizeof(ret), "%s, %2d %s %2d %02d:%02d:%02d %s", DowNames[tm->tm_wday], tm->tm_mday, MonthNames[tm->tm_mon], >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message