Bug 825713

Summary: find2perl does not translate ? glob properly
Product: Red Hat Enterprise Linux 6 Reporter: Petr Pisar <ppisar>
Component: perlAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Martin Kyral <mkyral>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2CC: lnovich, mkyral
Target Milestone: rcKeywords: EasyFix, Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://rt.perl.org/rt3/Public/Bug/Display.html?id=113054
Whiteboard:
Fixed In Version: perl-5.10.1-133.el6 Doc Type: Bug Fix
Doc Text:
Cause: Using find2perl(1) tool to translate file name glob `a?b' to a Perl code. Consequence: The `?' glob is translated erroneously and resulting Perl code matches different names than the find(1) tool. Fix: Glob expression translator has been corrected not to copy the question mark to resulting regular expression. Result: find2perl(1) matches the same files as the find(1) tool when using globs with a question mark.
Story Points: ---
Clone Of: 825701 Environment:
Last Closed: 2013-11-21 04:40:37 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:

Description Petr Pisar 2012-05-28 09:26:02 UTC
+++ This bug was initially created as a clone of Bug #825701 +++

$ find2perl -name 'a?b'
[...]
# Traverse desired filesystems
File::Find::find({wanted => \&wanted}, '.');
exit;
sub wanted {
    /^a.?b\z/s
    && print("$name\n");
}

The regular expression is wrong. Correct one is /^a.b\z/s.

Reported to upstream as <https://rt.perl.org/rt3/Public/Bug/Display.html?id=113054>. Patch is available there:

--- find2perl.orig 2012-03-06 19:36:39.000000000 +0000
+++ find2perl 2012-05-23 12:21:04.976166972 +0100
@@ -648,7 +648,8 @@
sub fileglob_to_re ($) {
my $x = shift;
$x =~ s#([./^\$()+])#\\$1#g;
- $x =~ s#([?*])#.$1#g;
+ $x =~ s#\*#.*#g;
+ $x =~ s#\?#.#g;
"^$x\\z";
}

RHEL-6.2 (perl-5.10.1-127.el6.x86_64) is affected.

Comment 11 errata-xmlrpc 2013-11-21 04:40:37 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.

http://rhn.redhat.com/errata/RHBA-2013-1534.html