[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git
Subject:    Re: [PATCH] Speedup scanning for excluded files.
From:       Junio C Hamano <gitster () pobox ! com>
Date:       2007-10-30 0:00:42
Message-ID: 7vzly1sc7p.fsf () gitster ! siamese ! dyndns ! org
[Download RAW message or body]

"Morten Welinder" <mwelinder@gmail.com> writes:

> > +                               } else if (x->flags & EXC_FLAG_ENDSWITH) {
> > +                                       if (!strcmp(exclude + 1, pathname + \
> > pathlen -x->patternlen + 1))
> 
> Is there some guarantee that the result of that subtraction is still within
> the string?

Good eyes.

If pattern is "*.exe", patternlen is 5, and strcmp wants to
compare 4 chars, so pathlen is better be at least that long, and
we do allow that pattern to match a hidden file ".exe".

Like this?

	if (x->patternlen - 1 <= pathlen &&
        	!strcmp(exclude + 1, pathname + pathlen - x->patternlen + 1))
		return to_exclude;

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic