Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
coreutils-testsuite.1874
coreutils-shuf-repeat-avoid-crash-when-input-em...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File coreutils-shuf-repeat-avoid-crash-when-input-empty.patch of Package coreutils-testsuite.1874
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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor