forked from pool/coreutils
Accepting request 306722 from Base:System
- Fix memory handling error with case insensitive sort using UTF-8 (boo#928749): coreutils-i18n.patch - Download keyring file from Savannah; prefer HTTPS over FTP for remote sources. OBS-URL: https://build.opensuse.org/request/show/306722 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/coreutils?expand=0&rev=112
This commit is contained in:
parent
2a4fdf9a52
commit
d33deee9f8
@ -7,7 +7,8 @@
|
|||||||
src/sort.c | 743 +++++++++++++++++++++++++++++++++++++++++---
|
src/sort.c | 743 +++++++++++++++++++++++++++++++++++++++++---
|
||||||
src/unexpand.c | 228 +++++++++++++
|
src/unexpand.c | 228 +++++++++++++
|
||||||
src/uniq.c | 265 +++++++++++++++
|
src/uniq.c | 265 +++++++++++++++
|
||||||
tests/local.mk | 1
|
tests/i18n/sort.sh | 29 +
|
||||||
|
tests/local.mk | 2
|
||||||
tests/misc/cut.pl | 7
|
tests/misc/cut.pl | 7
|
||||||
tests/misc/expand.pl | 40 ++
|
tests/misc/expand.pl | 40 ++
|
||||||
tests/misc/fold.pl | 50 ++
|
tests/misc/fold.pl | 50 ++
|
||||||
@ -18,7 +19,7 @@
|
|||||||
tests/misc/unexpand.pl | 39 ++
|
tests/misc/unexpand.pl | 39 ++
|
||||||
tests/misc/uniq.pl | 55 +++
|
tests/misc/uniq.pl | 55 +++
|
||||||
tests/pr/pr-tests.pl | 49 ++
|
tests/pr/pr-tests.pl | 49 ++
|
||||||
20 files changed, 3194 insertions(+), 180 deletions(-)
|
21 files changed, 3224 insertions(+), 180 deletions(-)
|
||||||
|
|
||||||
Index: lib/linebuffer.h
|
Index: lib/linebuffer.h
|
||||||
===================================================================
|
===================================================================
|
||||||
@ -3261,8 +3262,8 @@ Index: src/sort.c
|
|||||||
+
|
+
|
||||||
+ if (ignore || translate)
|
+ if (ignore || translate)
|
||||||
+ {
|
+ {
|
||||||
+ char *copy_a = (char *) xmalloc (lena + 1 + lenb + 1);
|
+ char *copy_a = (char *) xmalloc((lena + lenb) * MB_CUR_MAX + 2);
|
||||||
+ char *copy_b = copy_a + lena + 1;
|
+ char *copy_b = copy_a + (lena * MB_CUR_MAX) + 1;
|
||||||
+ size_t new_len_a, new_len_b;
|
+ size_t new_len_a, new_len_b;
|
||||||
+ size_t i, j;
|
+ size_t i, j;
|
||||||
+
|
+
|
||||||
@ -4112,6 +4113,14 @@ Index: tests/local.mk
|
|||||||
tests/misc/sort-merge.pl \
|
tests/misc/sort-merge.pl \
|
||||||
tests/misc/sort-merge-fdlimit.sh \
|
tests/misc/sort-merge-fdlimit.sh \
|
||||||
tests/misc/sort-month.sh \
|
tests/misc/sort-month.sh \
|
||||||
|
@@ -516,6 +517,7 @@ all_tests = \
|
||||||
|
tests/du/threshold.sh \
|
||||||
|
tests/du/trailing-slash.sh \
|
||||||
|
tests/du/two-args.sh \
|
||||||
|
+ tests/i18n/sort.sh \
|
||||||
|
tests/id/gnu-zero-uids.sh \
|
||||||
|
tests/id/no-context.sh \
|
||||||
|
tests/id/context.sh \
|
||||||
Index: tests/misc/cut.pl
|
Index: tests/misc/cut.pl
|
||||||
===================================================================
|
===================================================================
|
||||||
--- tests/misc/cut.pl.orig
|
--- tests/misc/cut.pl.orig
|
||||||
@ -4718,3 +4727,37 @@ Index: tests/pr/pr-tests.pl
|
|||||||
my $save_temps = $ENV{DEBUG};
|
my $save_temps = $ENV{DEBUG};
|
||||||
my $verbose = $ENV{VERBOSE};
|
my $verbose = $ENV{VERBOSE};
|
||||||
|
|
||||||
|
Index: tests/i18n/sort.sh
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ tests/i18n/sort.sh
|
||||||
|
@@ -0,0 +1,29 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+# Verify sort's multi-byte support.
|
||||||
|
+
|
||||||
|
+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||||
|
+print_ver_ sort
|
||||||
|
+
|
||||||
|
+export LC_ALL=en_US.UTF-8
|
||||||
|
+locale -k LC_CTYPE | grep -q "charmap.*UTF-8" \
|
||||||
|
+ || skip_ "No UTF-8 locale available"
|
||||||
|
+
|
||||||
|
+# Enable heap consistency checkng on older systems
|
||||||
|
+export MALLOC_CHECK_=2
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# check buffer overflow issue due to
|
||||||
|
+# expanding multi-byte representation due to case conversion
|
||||||
|
+# https://bugzilla.suse.com/show_bug.cgi?id=928749
|
||||||
|
+cat <<EOF > exp
|
||||||
|
+.
|
||||||
|
+ɑ
|
||||||
|
+EOF
|
||||||
|
+cat <<EOF | sort -f > out || fail=1
|
||||||
|
+.
|
||||||
|
+ɑ
|
||||||
|
+EOF
|
||||||
|
+compare exp out || { fail=1; cat out; }
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+Exit $fail
|
||||||
|
@ -16,7 +16,7 @@ Index: tests/local.mk
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- tests/local.mk.orig
|
--- tests/local.mk.orig
|
||||||
+++ tests/local.mk
|
+++ tests/local.mk
|
||||||
@@ -661,14 +661,9 @@ all_tests = \
|
@@ -662,14 +662,9 @@ all_tests = \
|
||||||
# See tests/factor/create-test.sh.
|
# See tests/factor/create-test.sh.
|
||||||
tf = tests/factor
|
tf = tests/factor
|
||||||
factor_tests = \
|
factor_tests = \
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 12 09:32:53 UTC 2015 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
- Download keyring file from Savannah; prefer HTTPS over FTP
|
||||||
|
for remote sources.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 12 08:56:13 UTC 2015 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
- Fix memory handling error with case insensitive sort using UTF-8
|
||||||
|
(boo#928749): coreutils-i18n.patch
|
||||||
|
src/sort.c (keycompare_mb): Ensure the buffer is big enough
|
||||||
|
to handle anything output from wctomb(). Theoretically any
|
||||||
|
input char could be converted to multiple output chars,
|
||||||
|
and so we need to multiply the storage by MB_CUR_MAX.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 7 18:18:31 UTC 2015 - crrodriguez@opensuse.org
|
Tue Apr 7 18:18:31 UTC 2015 - crrodriguez@opensuse.org
|
||||||
|
|
||||||
|
@ -82,9 +82,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
# For upgrading you now just need to increase the version, remove the old
|
# For upgrading you now just need to increase the version, remove the old
|
||||||
# tarballs, then run osc service localrun download_files, osc addremove,
|
# tarballs, then run osc service localrun download_files, osc addremove,
|
||||||
# osc vc and osc ci and you are done.
|
# osc vc and osc ci and you are done.
|
||||||
Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
||||||
Source1: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
|
Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
|
||||||
Source2: %{name}.keyring
|
Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=%{name}&download=1&file=./%{name}.keyring
|
||||||
%else
|
%else
|
||||||
# In "coreutils-testsuite", we use the version controlled file from "coreutils".
|
# In "coreutils-testsuite", we use the version controlled file from "coreutils".
|
||||||
# otherwise that file would be downloaded twice during the above mentioned
|
# otherwise that file would be downloaded twice during the above mentioned
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 12 09:32:53 UTC 2015 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
- Download keyring file from Savannah; prefer HTTPS over FTP
|
||||||
|
for remote sources.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 12 08:56:13 UTC 2015 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
- Fix memory handling error with case insensitive sort using UTF-8
|
||||||
|
(boo#928749): coreutils-i18n.patch
|
||||||
|
src/sort.c (keycompare_mb): Ensure the buffer is big enough
|
||||||
|
to handle anything output from wctomb(). Theoretically any
|
||||||
|
input char could be converted to multiple output chars,
|
||||||
|
and so we need to multiply the storage by MB_CUR_MAX.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 7 18:18:31 UTC 2015 - crrodriguez@opensuse.org
|
Tue Apr 7 18:18:31 UTC 2015 - crrodriguez@opensuse.org
|
||||||
|
|
||||||
|
Binary file not shown.
@ -82,9 +82,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
# For upgrading you now just need to increase the version, remove the old
|
# For upgrading you now just need to increase the version, remove the old
|
||||||
# tarballs, then run osc service localrun download_files, osc addremove,
|
# tarballs, then run osc service localrun download_files, osc addremove,
|
||||||
# osc vc and osc ci and you are done.
|
# osc vc and osc ci and you are done.
|
||||||
Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
||||||
Source1: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
|
Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
|
||||||
Source2: %{name}.keyring
|
Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=%{name}&download=1&file=./%{name}.keyring
|
||||||
%else
|
%else
|
||||||
# In "coreutils-testsuite", we use the version controlled file from "coreutils".
|
# In "coreutils-testsuite", we use the version controlled file from "coreutils".
|
||||||
# otherwise that file would be downloaded twice during the above mentioned
|
# otherwise that file would be downloaded twice during the above mentioned
|
||||||
|
Loading…
Reference in New Issue
Block a user