gregex: do not set match and recursion limits on match context

These are not really necessary, and cause breakages (e.g. #2700).
pcre2_set_recursion_limit is also deprecated.

Fixes: #2700
This commit is contained in:
Aleksei Rybalkin 2022-07-25 16:48:03 +02:00
parent 68a6628ffa
commit 6535c77b00
2 changed files with 3 additions and 2 deletions

View File

@ -769,8 +769,6 @@ match_info_new (const GRegex *regex,
&match_info->n_subpatterns);
match_info->match_context = pcre2_match_context_create (NULL);
pcre2_set_match_limit (match_info->match_context, 65536); /* should be plenty */
pcre2_set_recursion_limit (match_info->match_context, 64); /* should be plenty */
if (is_dfa)
{

View File

@ -2493,6 +2493,9 @@ main (int argc, char *argv[])
TEST_MATCH("[DŽ]", G_REGEX_CASELESS, 0, "dž", -1, 0, 0, TRUE);
TEST_MATCH("[DŽ]", G_REGEX_CASELESS, 0, "Dž", -1, 0, 0, TRUE);
/* see https://gitlab.gnome.org/GNOME/glib/-/issues/2700 */
TEST_MATCH("(\n.+)+", G_REGEX_DEFAULT, 0, "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n", -1, 0, 0, TRUE);
/* TEST_MATCH_NEXT#(pattern, string, string_len, start_position, ...) */
TEST_MATCH_NEXT0("a", "x", -1, 0);
TEST_MATCH_NEXT0("a", "ax", -1, 1);