Bug 147567 - sort -t mb handling broken -- affects LSB 1.3 conformance
sort -t mb handling broken -- affects LSB 1.3 conformance
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: coreutils (Show other bugs)
4.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Tim Waugh
:
: 147568 (view as bug list)
Depends On:
Blocks: 137160 RHEL4-LI18NUX 145007 158752
  Show dependency treegraph
 
Reported: 2005-02-09 07:52 EST by Jakub Jelinek
Modified: 2007-11-30 17:07 EST (History)
2 users (show)

See Also:
Fixed In Version: RHBA-2005-194
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-06-09 08:06:14 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to fix the bug (8.99 KB, patch)
2005-02-09 07:52 EST, Jakub Jelinek
no flags Details | Diff

  None (edit)
Description Jakub Jelinek 2005-02-09 07:52:22 EST
sort -t handling with MB_CUR_MAX > 1 is very broken in several ways.
One problem shows up e.g. in LSB 1.3 testsuite on big endian platforms, where
10|567 /tset/LI18NUX2K.L1/utils/sort/sort 18:32:15|TC Start, scenario ref 571-0
520|567 8 23535 1 1|* When -t option is specified, verify this utility use a character as a field separator even if the character is a multibyte character.
520|567 8 23535 1 2|
520|567 8 23535 1 3|Can't handle field separator written in a multibyte chaaracter.
220|567 8 1 18:32:21|FAIL
520|567 24 23535 1 1|* When -c and -t option are specified, verify this utility use a character as a field separator even if the character is a multibyte character.
520|567 24 23535 1 2|
520|567 24 23535 1 3|Can't handle field separator written in a multibyte chaaracter.
220|567 24 1 18:32:29|FAIL
520|567 40 23535 1 1|* When -m and -t option are specified, verify this utility use a character as a field separator even if the character is a multibyte character.
520|567 40 23535 1 2|
520|567 40 23535 1 3|Can't handle field separator written in a multibyte chaaracter.
220|567 40 1 18:32:36|FAIL

But as shown in the attached testcase, it is not just big endian platforms that
have -t broken.

I wonder why this was missed during RHEL3 LSB testing.
Comment 1 Jakub Jelinek 2005-02-09 07:52:23 EST
Created attachment 110864 [details]
Patch to fix the bug
Comment 2 Jakub Jelinek 2005-02-09 07:55:46 EST
Affects FC3/FC4 as well and likely (but untested) RHEL3 too.
Comment 3 Jakub Jelinek 2005-02-09 07:58:33 EST
*** Bug 147568 has been marked as a duplicate of this bug. ***
Comment 4 Tim Waugh 2005-02-09 10:12:30 EST
Thanks.  5.2.1-41 built in devel.
Comment 5 Tim Waugh 2005-02-09 11:52:28 EST
Committed to CVS in RHEL-4.
Comment 6 Tim Waugh 2005-02-09 12:45:41 EST
While porting to RHEL-3 I found that the sort-mb-tests already pass without any
changes to sort.c, beyond what's already in CVS.
Comment 7 Jakub Jelinek 2005-02-09 16:50:08 EST
Looking at RHEL3 coreutils-i18n.patch this is no wonder to me.
+static unsigned char tab[MB_LEN_MAX + 1];
tab has been a char array, not int as in RHEL4, etc.
From what I can see, RHEL4 sort against RHEL3 sort (in both cases without
i18n patch) added -t '\0' handling and error for -t a -t b and the former
caused int tab;.
Comment 8 Elena Zannoni 2005-02-18 12:33:37 EST
Can this be put in modified?
Comment 9 Tim Waugh 2005-02-18 13:03:25 EST
No, it hasn't been built for RHEL4.

Should it be built for RHEL4?  If so, targetting which update release?
Comment 10 Elena Zannoni 2005-02-18 13:15:06 EST
update 1, since we are targetting LSB compliance with that update.
Comment 13 Tim Powers 2005-06-09 08:06:14 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2005-194.html

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