forked from pool/coreutils
- Add upstream patch (gnu#16855):
* coreutils-shuf-repeat-avoid-crash-when-input-empty.patch: Add patch for shuf: with -r, don't dump core if the input is empty. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=231
This commit is contained in:
parent
5d2bf6212b
commit
ad3c637e06
85
coreutils-shuf-repeat-avoid-crash-when-input-empty.patch
Normal file
85
coreutils-shuf-repeat-avoid-crash-when-input-empty.patch
Normal file
@ -0,0 +1,85 @@
|
||||
Port upstream fix for shuf, to be removed with v8.23:
|
||||
|
||||
shuf --repeat no longer dumps core if the input is empty.
|
||||
[bug introduced with the --repeat feature in coreutils-8.22]
|
||||
|
||||
This patch squashes these 2 upstream commits:
|
||||
|
||||
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=9f60f37a28
|
||||
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=5475e6083f
|
||||
|
||||
While the former implements the actual fix for the problem,
|
||||
the latter only changes the new error diagnostic. The change in the
|
||||
NEWS entry in the latter patch is not visible in the following patch
|
||||
because that hunk is omitted; however, that corrected NEWS entry is
|
||||
above.
|
||||
|
||||
-----------------------------------------------
|
||||
commit 9f60f37a28c37acb66aa38003ccaa07f13abbd9d
|
||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Sun Feb 23 15:34:48 2014 -0800
|
||||
|
||||
shuf: with -r, don't dump core if the input is empty
|
||||
|
||||
Problem reported by valiant xiao in <http://bugs.gnu.org/16855>.
|
||||
* src/shuf.c (main): With -r, report an error if the input is empty.
|
||||
* tests/misc/shuf.sh: Test for the bug.
|
||||
|
||||
-----------------------------------------------
|
||||
commit 5475e6083f46a2f9f7ccf4173f391bf518421523
|
||||
Author: Bernhard Voelker <mail@bernhard-voelker.de>
|
||||
Date: Wed Feb 26 08:36:50 2014 +0100
|
||||
|
||||
shuf: convert error diagnostic to lowercase
|
||||
|
||||
* src/shuf.c (main): s/No/no/, introduced by commit v8.22-25-g9f60f37.
|
||||
|
||||
Prompted by the syntax-check rule sc_error_message_uppercase
|
||||
|
||||
---
|
||||
src/shuf.c | 15 +++++++++++----
|
||||
tests/misc/shuf.sh | 4 ++++
|
||||
2 files changed, 15 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: src/shuf.c
|
||||
===================================================================
|
||||
--- src/shuf.c.orig
|
||||
+++ src/shuf.c
|
||||
@@ -576,11 +576,18 @@ main (int argc, char **argv)
|
||||
/* Generate output according to requested method */
|
||||
if (repeat)
|
||||
{
|
||||
- if (input_range)
|
||||
- i = write_random_numbers (randint_source, head_lines,
|
||||
- lo_input, hi_input, eolbyte);
|
||||
+ if (head_lines == 0)
|
||||
+ i = 0;
|
||||
else
|
||||
- i = write_random_lines (randint_source, head_lines, line, n_lines);
|
||||
+ {
|
||||
+ if (n_lines == 0)
|
||||
+ error (EXIT_FAILURE, 0, _("no lines to repeat"));
|
||||
+ if (input_range)
|
||||
+ i = write_random_numbers (randint_source, head_lines,
|
||||
+ lo_input, hi_input, eolbyte);
|
||||
+ else
|
||||
+ i = write_random_lines (randint_source, head_lines, line, n_lines);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
Index: tests/misc/shuf.sh
|
||||
===================================================================
|
||||
--- tests/misc/shuf.sh.orig
|
||||
+++ tests/misc/shuf.sh
|
||||
@@ -43,6 +43,10 @@ compare in out1 || { fail=1; echo "not a
|
||||
t=$(shuf -e a b c d e | sort | fmt)
|
||||
test "$t" = 'a b c d e' || { fail=1; echo "not a permutation" 1>&2; }
|
||||
|
||||
+# coreutils-8.22 dumps core.
|
||||
+shuf -er
|
||||
+test $? -eq 1 || fail=1
|
||||
+
|
||||
# Before coreutils-6.3, this would infloop.
|
||||
# "seq 1860" produces 8193 (8K + 1) bytes of output.
|
||||
seq 1860 | shuf > /dev/null || fail=1
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 16 20:38:48 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
- Add upstream patch (gnu#16855):
|
||||
* coreutils-shuf-repeat-avoid-crash-when-input-empty.patch: Add
|
||||
patch for shuf: with -r, don't dump core if the input is empty.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 16 19:28:34 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
|
@ -138,6 +138,10 @@ Patch305: coreutils-ln-avoid-segfault-for-empty-target.patch
|
||||
# Upstream patch for date(1), to be removed with v8.23:
|
||||
Patch306: coreutils-date-avoid-crash-in-TZ-parsing.patch
|
||||
|
||||
# Upstream patch for shuf(1), to be removed with v8.23:
|
||||
# shuf --repeat no longer dumps core if the input is empty.
|
||||
Patch307: coreutils-shuf-repeat-avoid-crash-when-input-empty.patch
|
||||
|
||||
# ================================================
|
||||
%description
|
||||
These are the GNU core utilities. This package is the union of
|
||||
@ -181,6 +185,7 @@ the GNU fileutils, sh-utils, and textutils packages.
|
||||
%patch304
|
||||
%patch305
|
||||
%patch306
|
||||
%patch307
|
||||
|
||||
#???## We need to statically link to gmp, otherwise we have a build loop
|
||||
#???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in
|
||||
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 16 20:38:48 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
- Add upstream patch (gnu#16855):
|
||||
* coreutils-shuf-repeat-avoid-crash-when-input-empty.patch: Add
|
||||
patch for shuf: with -r, don't dump core if the input is empty.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 16 19:28:34 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
|
@ -138,6 +138,10 @@ Patch305: coreutils-ln-avoid-segfault-for-empty-target.patch
|
||||
# Upstream patch for date(1), to be removed with v8.23:
|
||||
Patch306: coreutils-date-avoid-crash-in-TZ-parsing.patch
|
||||
|
||||
# Upstream patch for shuf(1), to be removed with v8.23:
|
||||
# shuf --repeat no longer dumps core if the input is empty.
|
||||
Patch307: coreutils-shuf-repeat-avoid-crash-when-input-empty.patch
|
||||
|
||||
# ================================================
|
||||
%description
|
||||
These are the GNU core utilities. This package is the union of
|
||||
@ -181,6 +185,7 @@ the GNU fileutils, sh-utils, and textutils packages.
|
||||
%patch304
|
||||
%patch305
|
||||
%patch306
|
||||
%patch307
|
||||
|
||||
#???## We need to statically link to gmp, otherwise we have a build loop
|
||||
#???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in
|
||||
|
Loading…
Reference in New Issue
Block a user