Fix backtracking bug in matching after an escape.
authorMichael Poole <mdpoole@troilus.org>
Thu, 16 Feb 2006 03:16:19 +0000 (03:16 +0000)
committerMichael Poole <mdpoole@troilus.org>
Thu, 16 Feb 2006 03:16:19 +0000 (03:16 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1616 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/match.c

index 095919eda5f1afb5f1c91701f451cc1c6a0e9fb3..49fcc262f7d656e42e421ec449286d43225c12bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-15  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/match.c (match): Fix backtracking bug after an escape
+       (reported by Michael, I think).
+
 2006-02-04  Michael Poole <mdpoole@troilus.org>
 
        * ircd/ircd.c (try_connections): Scan all Connect blocks for the
index 1715b539458b12ea3f1f9e87dc88fdb55eb9de58..27edc2660bae5dd2e329f9a4242583ffec01c1ed 100644 (file)
@@ -206,7 +206,7 @@ int match(const char *mask, const char *name)
     m++;
     /* allow escaping to force capitalization */
     if (*m++ != *n++)
-      return 1;
+      goto backtrack;
     break;
   case '*': case '?':
     for (star_p = 0; ; m++) {