From: Pádraig Brady Date: Thu, 27 Feb 2014 23:43:34 +0000 (+0000) Subject: date: fix crash or infinite loop when parsing a malformed TZ="" X-Git-Tag: v8.23~127 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4faa6a0a3ae93c01d036d830ae7a21b74913baf;p=thirdparty%2Fcoreutils.git 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 --- diff --git a/NEWS b/NEWS index be8311f491..d867784739 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 1c6bf3d204..a10acfb1d2 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 57c6c7282b..40be4cab5d 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.