Bug 1025906
Summary: | Locale::Maketext interpolating escaped backslashes improperly | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Dan Eggleston <eggled> | ||||||||||||||||
Component: | perl | Assignee: | Petr Pisar <ppisar> | ||||||||||||||||
Status: | CLOSED ERRATA | QA Contact: | Martin Kyral <mkyral> | ||||||||||||||||
Severity: | medium | Docs Contact: | |||||||||||||||||
Priority: | unspecified | ||||||||||||||||||
Version: | 6.6 | CC: | dkutalek, jorton, mkyral, ppisar, psabata, tlavigne | ||||||||||||||||
Target Milestone: | rc | Keywords: | Patch, Regression | ||||||||||||||||
Target Release: | --- | ||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||
Whiteboard: | |||||||||||||||||||
Fixed In Version: | perl-5.10.1-138.el6 | Doc Type: | Bug Fix | ||||||||||||||||
Doc Text: |
The Perl Locale::Maketext localization framework did not properly translate the backslash (\) characters. As a consequence, Perl rendered the backslashes as double (\\). With this update, Perl no longer escapes the backslashes in literal output strings, and they appear correctly.
|
Story Points: | --- | ||||||||||||||||
Clone Of: | |||||||||||||||||||
: | 1026761 1026763 1029016 (view as bug list) | Environment: | |||||||||||||||||
Last Closed: | 2015-07-22 05:59:27 UTC | Type: | Bug | ||||||||||||||||
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: | 1070830, 1159820 | ||||||||||||||||||
Attachments: |
|
Description
Dan Eggleston
2013-11-01 22:25:28 UTC
The 'Some data\n' is due to back-porting the fix to perl 5.10.1. The parameterized case behaves for me differently and is caused by the changes in the fix. Even latest Locale::Maketext is affected. Created attachment 819144 [details]
Reproducer
Created attachment 819195 [details]
Upstream partial fix for non-parametrized case
Created attachment 819662 [details]
Proposed fix for parametrized case
Created attachment 822328 [details]
Upstream fix
Fix accepted by upstream in slightly different form. Only this one is needed to fix the regression.
Created attachment 822402 [details]
Upstream tests
Use this script for tests.
Created attachment 861802 [details]
Upstream fix ported to 5.8.8
This adds additional required fix for literal strings.
Dan, if this is an issue for you on productions systems, please raise a ticket through your regular Red Hat support channels to make certain it receives the proper attention and prioritization to assure a timely resolution. http://www.redhat.com/en/services/support Thanks, Joe. I was able to work around this by wrapping the character escapes within sprintf function calls, so production systems are no longer affected. Created attachment 977122 [details]
Upstream fix ported to 5.10.1
How to test:
(1) Run the reproducer from attachment #8 [details].
(2) Check the output:
Before: Some back-slashes are doubled.
After: There are only single back-slashes.
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-1266.html |