1diff --git a/src/common/str_util.c b/src/common/str_util.c
2index cc825cb..5a0b8b1 100644
3--- a/src/common/str_util.c
4+++ b/src/common/str_util.c
5@@ -507,7 +507,7 @@ size_t mg_match_prefix_n(const struct mg_str pattern, const struct mg_str str) {
6         const struct mg_str pstr = {pattern.p + i, pattern.len - i};
7         const struct mg_str sstr = {str.p + j + len, str.len - j - len};
8         res = mg_match_prefix_n(pstr, sstr);
9-      } while (res == 0 && len != 0 && len-- > 0);
10+      } while (res == 0 && len != 0 && --len > 0);
11       return res == 0 ? 0 : j + res + len;
12     } else if (str_util_lowercase(&pattern.p[i]) !=
13                str_util_lowercase(&str.p[j])) {
14