From 19abad095caafb2279f8aeb5d39cd038dcece938 Mon Sep 17 00:00:00 2001 From: Patrick Monnerat Date: Mon, 29 Jan 2018 13:01:43 +0100 Subject: fnmatch: do not match the empty string with a character set --- lib/curl_fnmatch.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/curl_fnmatch.c') diff --git a/lib/curl_fnmatch.c b/lib/curl_fnmatch.c index f33bba1f1..5b6d28c06 100644 --- a/lib/curl_fnmatch.c +++ b/lib/curl_fnmatch.c @@ -352,6 +352,8 @@ static int loop(const unsigned char *pattern, const unsigned char *string, unsigned char *pp = p + 1; /* cannot handle with pointer to register */ if(setcharset(&pp, charset)) { int found = FALSE; + if(!*s) + return CURL_FNMATCH_NOMATCH; if(charset[(unsigned int)*s]) found = TRUE; else if(charset[CURLFNM_ALNUM]) @@ -380,9 +382,7 @@ static int loop(const unsigned char *pattern, const unsigned char *string, if(found) { p = pp + 1; - if(*s) - /* don't advance if we're matching on an empty string */ - s++; + s++; memset(charset, 0, CURLFNM_CHSET_SIZE); } else -- cgit v1.2.3