Bug 497368

Summary: Utility join could segfault due to multibyte patch
Product: Red Hat Enterprise Linux 5 Reporter: Ondrej Vasik <ovasik>
Component: coreutilsAssignee: Ondrej Vasik <ovasik>
Status: CLOSED ERRATA QA Contact: BaseOS QE <qe-baseos-auto>
Severity: medium Docs Contact:
Priority: low    
Version: 5.3CC: cward, msusta, rvokal, spurrier, tao
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
The "join" utility, which joins two text files, or a file and standard input, on a line-by-line basis, could experience a segmentation fault when running under a multibyte locale. In addition, multibyte locales could cause "join" to produce unexpected results. With this updated package, these coding errors have been corrected so that "join" completes correctly and successfully when run under a multibyte locale.
Story Points: ---
Clone Of:
: 497479 598425 (view as bug list) Environment:
Last Closed: 2009-09-02 09:17:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 497479, 598425    
Attachments:
Description Flags
Patch to fix segfault in join for multibyte locales none

Description Ondrej Vasik 2009-04-23 15:19:15 UTC
Description of problem 
As described in http://lists.gnu.org/archive/html/bug-coreutils/2009-04/msg00215.html , RHEL-5 and F-9/F-10 join command could segfault due to error in RedHat only i18n patch. Problem was already fixed in Rawhide/F-11 branch.

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


How reproducible:
always, see link in the mail above for reproducer files

Steps to Reproduce:
1. join s1.txt s2.txt >/dev/null
  
Actual results:
segfault

Expected results:
No segfault, just info about unsorted files.

Comment 1 Ondrej Vasik 2009-04-23 17:12:32 UTC
Created attachment 340969 [details]
Patch to fix segfault in join for multibyte locales

Actually it turned out that the issue was not fixed in rawhide, but the occurance was reduced from 100% to ~10% due to better memory management. Error was caused by checking pointers for exact equality/non equality with limit - which may cause skipping this limit for multibyte locales. Segfault could be easily workarounded by `LC_ALL=C join s1.txt s2.txt` or could be fixed even for multibyte locales by applying attached patch and rebuilding sources.

Comment 2 Ondrej Vasik 2009-04-23 17:13:14 UTC
Fixed in RAWHIDE and built as coreutils-7.2-3.fc12.

Comment 9 Chris Ward 2009-07-03 18:42:43 UTC
~~ Attention - RHEL 5.4 Beta Released! ~~

RHEL 5.4 Beta has been released! There should be a fix present in the Beta release that addresses this particular request. Please test and report back results here, at your earliest convenience. RHEL 5.4 General Availability release is just around the corner!

If you encounter any issues while testing Beta, please describe the issues you have encountered and set the bug into NEED_INFO. If you encounter new issues, please clone this bug to open a new issue and request it be reviewed for inclusion in RHEL 5.4 or a later update, if it is not of urgent severity.

Please do not flip the bug status to VERIFIED. Only post your verification results, and if available, update Verified field with the appropriate value.

Questions can be posted to this bug or your customer or partner representative.

Comment 12 errata-xmlrpc 2009-09-02 09:17:47 UTC
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 therefore 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-2009-1262.html

Comment 14 Jaromir Hradilek 2010-10-06 23:31:42 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
The "join" utility, which joins two text files, or a file and standard input, on a line-by-line basis, could experience a segmentation fault when running under a multibyte locale. In addition, multibyte locales could cause "join" to produce unexpected results. With this updated package, these coding errors have been corrected so that "join" completes correctly and successfully when run under a multibyte locale.