Bug 1148347 - "sort" looks at more than the flags specify in non-C locales
Summary: "sort" looks at more than the flags specify in non-C locales
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: coreutils
Version: 7.2
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Ondrej Vasik
QA Contact: qe-baseos-daemons
: 1255107 (view as bug list)
Depends On: 1146185
TreeView+ depends on / blocked
Reported: 2014-10-01 08:49 UTC by Ondrej Vasik
Modified: 2016-04-19 10:01 UTC (History)
13 users (show)

Coreutils i18n downstream patch had several implementation bugs.

This was causing crashes and wrong functionality of e.g. sort utility in utf-8 locales. C locales were never affected.

Buffer overflows and wrong handling of keys and fields in sorting was fixed. 

Even when sorting with utf-8 locales, sort works fine with multiple sorting keys and fields.
Clone Of: 1146185
Last Closed: 2015-11-19 12:44:39 UTC

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2160 normal SHIPPED_LIVE coreutils bug fix and enhancement update 2015-11-19 11:10:56 UTC
Red Hat Bugzilla 1328360 None None None Never

Internal Trackers: 1328360

Description Ondrej Vasik 2014-10-01 08:49:12 UTC
+++ This bug was initially created as a clone of Bug #1146185 +++

Description of problem:
When sorting on one of several fields and using e.g. the en_US.utf8 locale, "sort" looks at more than the specified keys when sorting.

Version-Release number of selected component (if applicable):

How reproducible:
Every time

Steps to Reproduce:
1. printf 'a b!x\na-b-c!x\n' | LANG=en_US.utf8 ltrace -e strcoll sort -s --debug -k1,1 -t!

Actual results:
sort: using ‘en_US.utf8’ sorting rules
sort->strcoll("a b!x", "a-b-c!x")                = 21
a b!x
+++ exited (status 0) +++

Expected results:
sort: using ‘en_US.utf8’ sorting rules
sort->strcoll("a b", "a-b-c")                    = -1
a b!x
+++ exited (status 0) +++

(That is, strcoll only called on the key, not the whole string, and the output in the opposite order.)

Additional info:
This is shortened version of a bug report I filed upstreams: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18540  It appears this bug is not present upstreams, but actually introduced in the Fedora packaging.

--- Additional comment from Ondrej Vasik on 2014-09-30 07:52:13 EDT ---

For the reference, Andreas Schwab fixed the bug, https://build.opensuse.org/package/view_file/Base:System/coreutils/sort-keycompare-mb.patch?expand=1 .

Comment 3 Ondrej Vasik 2015-08-19 20:30:13 UTC
*** Bug 1255107 has been marked as a duplicate of this bug. ***

Comment 5 errata-xmlrpc 2015-11-19 12:44:39 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.