From a4faa6a0a3ae93c01d036d830ae7a21b74913baf Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Thu, 27 Feb 2014 23:43:34 +0000 Subject: 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 deletion(-) diff --git a/NEWS b/NEWS index be8311f49..d86778473 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 1c6bf3d20..a10acfb1d 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 57c6c7282..40be4cab5 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. -- cgit v1.2.3-54-g00ecf