summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS3
-rwxr-xr-xtests/sort/Test.pm8
3 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ee8167672..c7ba8316b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-20 Jim Meyering <jim@meyering.net>
+
+ Document and add a test for today's sort bug fix.
+ * NEWS: Describe the bug fix.
+ * tests/sort/Test.pm (obs-inval): Add a test for today's fix.
+
2007-07-20 Andreas Schwab <schwab@suse.de>
* src/sort.c (main): Don't free a pointer to non-malloc'd memory.
diff --git a/NEWS b/NEWS
index 423cf498b..dff643ff3 100644
--- a/NEWS
+++ b/NEWS
@@ -115,6 +115,9 @@ GNU coreutils NEWS -*- outline -*-
Using pr -m -s (i.e. merging files, with TAB as the output separator)
no longer inserts extraneous spaces between output columns.
+ Obsolete sort usage with an invalid ordering-option character, e.g.,
+ "env _POSIX2_VERSION=199209 sort +1x" no longer makes sort free an
+ invalid pointer [introduced in coreutils-6.5]
* Noteworthy changes in release 6.8 (2007-02-24) [not-unstable]
diff --git a/tests/sort/Test.pm b/tests/sort/Test.pm
index 8b160bddb..22e1ea42a 100755
--- a/tests/sort/Test.pm
+++ b/tests/sort/Test.pm
@@ -1,8 +1,7 @@
# -*-perl-*-
# Test "sort".
-# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005,
-# 2006 Free Software Foundation, Inc.
+# Copyright (C) 1996-1999, 2001-2007 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -282,6 +281,11 @@ my @tv = (
["bigfield", '-k 340282366920938463463374607431768211456',
"2\n1\n", "1\n2\n", 0],
+
+# Using an old-style key-specifying option like +1 with an invalid
+# ordering-option character would cause sort to try to free an invalid
+# (non-malloc'd) pointer. This bug affects coreutils-6.5 through 6.9.
+['obs-inval', '+1x', '', '', 2]
);
sub test_vector