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
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: coreutils   
(Show other bugs)
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Ondrej Vasik
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Keywords:
: 1255107 (view as bug list)
Depends On: 1146185
Blocks:
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)

Fixed In Version: coreutils-8.22-13.el7
Doc Type: Bug Fix
Doc Text:
Cause: Coreutils i18n downstream patch had several implementation bugs. Consequence: This was causing crashes and wrong functionality of e.g. sort utility in utf-8 locales. C locales were never affected. Fix: Buffer overflows and wrong handling of keys and fields in sorting was fixed. Result: Even when sorting with utf-8 locales, sort works fine with multiple sorting keys and fields.
Story Points: ---
Clone Of: 1146185
Environment:
Last Closed: 2015-11-19 12:44:39 UTC
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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):
coreutils-8.21-20.fc20.x86_64

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-c!x
_____
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
___
a-b-c!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.

https://rhn.redhat.com/errata/RHBA-2015-2160.html


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