Re: [PATCH 4/6] dir.c::match_pathname(): pay attention to the length of string parameters
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Mar 29, 2013, 10:03 UTC
- Message-ID
- <CACsJy8CT8DQEEJVMwonW05bFZNb7HjQWBdEjy3tv332xabJ=Bw@mail.gmail.com>
- In-Reply-To
- <CACsJy8DisE8UNZzqmOFxPqw=bmFiHgE5-ao83ciGNUV9Sc9-gA@mail.gmail.com>
On Fri, Mar 29, 2013 at 3:45 PM, Duy Nguyen <pclouds@gmail.com> wrote:
Show 13 quoted lines
> On Fri, Mar 29, 2013 at 4:48 AM, Jeff King <peff@peff.net> wrote: >> - return fnmatch_icase(pattern, name, FNM_PATHNAME) == 0; >> + return fnmatch_icase_mem(pattern, patternlen, >> + name, namelen, >> + FNM_PATHNAME) == 0; >> } > > I think you (or Junio) should rebase this on maint. Since c41244e > (included in maint), this call is turned to wildmatch(WM_PATHNAME) and > WM_PATHNAME is _not_ the same as FNM_PATHNAME for patterns like > "foo/**/bar". A diff between next and pu shows me that WM_PATHNAME is > incorrectly converted to FNM_PATHNAME. I hope that is the cause of all > breakages Junio found out on pu.
Just tested. t0003 and t3001 on 'pu' work for me because I have USE_WILDMATCH on (which turns FNM_PATHNAME to WM_PATHNAME). Both break without USE_WILDMATCH.
-- Duy