Author: bdubbs Date: Tue Apr 22 22:53:15 2014 New Revision: 2884 Log: Core patch name
Added: trunk/coreutils/coreutils-8.22-shuf_segfault-1.patch - copied unchanged from r2883, trunk/coreutils/coreutils-8.22-shuf_segfault.patch Deleted: trunk/coreutils/coreutils-8.22-shuf_segfault.patch Copied: trunk/coreutils/coreutils-8.22-shuf_segfault-1.patch (from r2883, trunk/coreutils/coreutils-8.22-shuf_segfault.patch) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/coreutils/coreutils-8.22-shuf_segfault-1.patch Tue Apr 22 22:53:15 2014 (r2884, copy of r2883, trunk/coreutils/coreutils-8.22-shuf_segfault.patch) @@ -0,0 +1,66 @@ +Submitted By: Miklos Karacsony <mkaracsony81 at gmail dot com> +Date: 2014-04-22 +Initial Package Version: 8.22 +Upstream Status: Applied +Origin: Upstream +Description: shuf: with -r, don't dump core if the input is empty + +diff --git a/NEWS b/NEWS +index e72942b..2df246d 100644 +--- a/NEWS ++++ b/NEWS +@@ -22,6 +22,9 @@ GNU coreutils NEWS -*- outline -*- + it would display an error, requiring --no-dereference to avoid the issue. + [bug introduced in coreutils-5.3.0] + ++ shuf -r no longer dumps core if the input is empty. ++ [bug introduced in coreutils-8.22] ++ + ** New features + + od accepts a new option: --endian=TYPE to handle inputs with different byte +diff --git a/src/shuf.c b/src/shuf.c +index d4641fe..2a91072 100644 +--- a/src/shuf.c ++++ b/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 + { +diff --git a/tests/misc/shuf.sh b/tests/misc/shuf.sh +index d3ea1f2..d7251d1 100755 +--- a/tests/misc/shuf.sh ++++ b/tests/misc/shuf.sh +@@ -43,6 +43,10 @@ compare in out1 || { fail=1; echo "not a permutation" 1>&2; } + 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.8.5.3 + -- http://linuxfromscratch.org/mailman/listinfo/patches FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page