>From a4faa6a0a3ae93c01d036d830ae7a21b74913baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Thu, 27 Feb 2014 23:43:34 +0000 Subject: [PATCH] date: fix crash or infinite loop when parsing a malformed TZ="" * NEWS: Mention the fix. * gnulib: Update to incorporate the fix. This is the only change in this gnulib update. * tests/misc/date.pl: Add a test for this case. Fixes http://bugs.gnu.org/16872 --- NEWS | 3 +++ gnulib | 2 +- tests/misc/date.pl | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletions(-) diff --git a/NEWS b/NEWS index be8311f..d867784 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,9 @@ GNU coreutils NEWS -*- outline -*- when reading the SELinux context for a file. [bug introduced in coreutils-8.22] + date could crash or go into an infinite loop when parsing a malformed TZ="". + [bug introduced with the --date='TZ="" ..' parsing feature in coreutils-5.3.0] + head --lines=-0, when the input does not contain a trailing '\n', now copies all input to stdout. Previously nothing was output in this case. [bug introduced with the --lines=-N feature in coreutils-5.0.1] diff --git a/gnulib b/gnulib index 1c6bf3d..a10acfb 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 1c6bf3d204c0cbd664590bbdc30fdf756d9fdb65 +Subproject commit a10acfb1d2118f9a180181d3fed5399dbbe1df3c diff --git a/tests/misc/date.pl b/tests/misc/date.pl index 57c6c72..40be4ca 100755 --- a/tests/misc/date.pl +++ b/tests/misc/date.pl @@ -287,6 +287,13 @@ my @Tests = {ERR => "date: invalid date '\\260'\n"}, {EXIT => 1}, ], + + # From coreutils-5.3.0 to 8.22 inclusive + # this would either infinite loop or crash + ['invalid-TZ-crash', "-d 'TZ=\"\"\"'", + {ERR => "date: invalid date 'TZ=\"\"\"'\n"}, + {EXIT => 1}, + ], ); # Repeat the cross-dst test, using Jan 1, 2005 and every interval from 1..364. -- 1.7.7.6