aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--httpd/patterns.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/httpd/patterns.c b/httpd/patterns.c
index f4b999d..8fbaa28 100644
--- a/httpd/patterns.c
+++ b/httpd/patterns.c
@@ -375,6 +375,8 @@ match(struct match_state *ms, const char *s, const char *p)
}
/* points to what is next */
ep = classend(ms, p);
+ if (ms->error != NULL)
+ break;
previous =
(s == ms->src_init) ? '\0' : *(s - 1);
if (!matchbracketclass(uchar(previous),
@@ -416,6 +418,8 @@ match(struct match_state *ms, const char *s, const char *p)
dflt:
/* points to optional suffix */
ep = classend(ms, p);
+ if (ms->error != NULL)
+ break;
/* does not match at least once? */
if (!singlematch(ms, s, p, ep)) {