File 0002-lib-regex-Set-DREGEX_MAX_MATCHES-to-library-default.patch of Package dovecot24
From e704d9c72850684c1b82011c9550adbd4200f0eb Mon Sep 17 00:00:00 2001
From: Aki Tuomi <aki.tuomi@open-xchange.com>
Date: Mon, 22 Dec 2025 11:05:31 +0200
Subject: [PATCH 2/3] lib-regex: Set DREGEX_MAX_MATCHES to library default
---
src/lib-regex/regex.c | 2 +-
src/lib-regex/test-regex.c | 10 ++++++----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/lib-regex/regex.c b/src/lib-regex/regex.c
index 51e7d6c513..5ccf9d54be 100644
--- a/src/lib-regex/regex.c
+++ b/src/lib-regex/regex.c
@@ -14,7 +14,7 @@
#include "pcre2.h"
#define DREGEX_MAX_DEPTH 100
-#define DREGEX_MAX_MATCHES 100
+#define DREGEX_MAX_MATCHES 10000000
#define DREGEX_MAX_CAPTURE_GROUPS 100
#define DREGEX_MAX_CPU_SECONDS 1
diff --git a/src/lib-regex/test-regex.c b/src/lib-regex/test-regex.c
index 10b393e409..4b68bca2ce 100644
--- a/src/lib-regex/test-regex.c
+++ b/src/lib-regex/test-regex.c
@@ -158,19 +158,21 @@ static void test_dregex_match(void)
"{1}[a-z0-9]+[.]{1}(([a-z]{2,3})|([a-z]{2,3}[.]"
"{1}[a-z]{2,3}))$",
"thisisabstractly.andtotally.long.email@"
- REP10("a") "." REP10("a") "." REP10("a")
+ REP10(REP10("a") "." REP10("a") "." REP10("a") "." REP10("a"))
".has",
- "match limit exceeded",
+ "matching depth limit exceeded",
0,
-1
),
MATCH_CASE_FULL(
"(a|a?)+",
- REP10("a") REP10("a"),
- "match limit exceeded",
+ REP10(REP10("a") REP10("a") REP10("a")),
+ "matching depth limit exceeded",
0,
-1
),
+ /* Live test cases */
+ MATCH_CASE("\\[.*PATCH.*\\]", "Subject: Re: [PATCH v2 3/6] arm64: dts: qcom: qcm6490-shift-otter: Ad"),
/* IEEE.1003-2.1992 */
MATCH_CASE("me(\\+.*)?@company\\.com",
"me+hello@company.com"),
--
2.52.0