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

openSUSE Build Service is sponsored by