gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 38/150: fnmatch: do not match the empty string with


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 38/150: fnmatch: do not match the empty string with a character set
Date: Fri, 30 Mar 2018 16:48:12 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 19abad095caafb2279f8aeb5d39cd038dcece938
Author: Patrick Monnerat <address@hidden>
AuthorDate: Mon Jan 29 13:01:43 2018 +0100

    fnmatch: do not match the empty string with a character set
---
 lib/curl_fnmatch.c    | 6 +++---
 tests/unit/unit1307.c | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

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
diff --git a/tests/unit/unit1307.c b/tests/unit/unit1307.c
index 266eed392..eff5edebc 100644
--- a/tests/unit/unit1307.c
+++ b/tests/unit/unit1307.c
@@ -97,8 +97,8 @@ static const struct testcase tests[] = {
   { "*[^a].t?t",                "a.txt",                  NOMATCH },
   { "*[^a].t?t",                "ba.txt",                 NOMATCH },
   { "*[^a].t?t",                "ab.txt",                 MATCH },
-  { "*[^a]",                    "",                       MATCH },
-  { "[!ÿ]",                     "",                       MATCH },
+  { "*[^a]",                    "",                       NOMATCH },
+  { "[!ÿ]",                     "",                       NOMATCH },
   { "[!?*[]",                   "?",                      NOMATCH },
   { "[!!]",                     "!",                      NOMATCH },
   { "[!!]",                     "x",                      MATCH },

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]