apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject Re: Fwd: DO NOT REPLY [Bug 51219] New: apr_fnmatch infinite loop on pattern "/*/WEB-INF/"
Date Fri, 20 May 2011 09:29:03 GMT
On Thu, May 19, 2011 at 12:56:23PM -0500, William Rowe wrote:
> [moving from embargoed to open discussion]
> On 5/19/2011 9:53 AM, Joe Orton wrote:
> > On Wed, May 18, 2011 at 04:11:19PM -0500, William Rowe wrote:
> >> On 5/18/2011 3:55 PM, Joe Orton wrote:
> > b) glibc does not match the pattern "\/" against "/" with FNM_PATHNAME 
> > set, but APR does:
> > 
> > 0000000052585e22 apr_fnmatch(".*\//", ".//", 2) = 0, glibc=1
> 
> Do we want to change this behavior?  We must still be careful of the
> special meaning of '/' but we can force a mismatch by dropping the
> logic at line 218-219, which quietly ignores the leading backslash.
> Other tests for \/ must remain.

If the spec doesn't disallow the current behaviour I don't see any harm 
in keeping it, the pattern is unambiguous.

...
> I'm omitting your list for another pass through your tests, now that
> we have a fix on 1.4 branch (and trunk) to the issue you caught.

I screwed up the long run I set up last night so it did not complete :(

I've done one short run this morning with the 1.4.x tip.  In the diff vs 
glibc, I filtered out patterns with ']', '[' and '/' within [], and also 
patterns containing \/.  Only two patterns remained with different 
behaviour:

000000009199a75c apr_fnmatch("*?[.].", "/..", 4) = 0, glibc=1
00000000a504a704 apr_fnmatch("*?*[^aa]", "/.", 4) = 0, glibc=1

the flag used is APR_FNM_PERIOD.  APR looks correct for the first, I am 
not sure why the second is matching.

Regards, Joe

Mime
View raw message