[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] regex: fix match with possessive quantifier
From: |
Egor Ignatov |
Subject: |
[PATCH] regex: fix match with possessive quantifier |
Date: |
Wed, 26 May 2021 12:08:19 +0300 |
Fix behaviour introduced in 70b673e, where regexps with
possessive quantifier("*+") didn't match.
* lib/regexec.c
(set_regs): Pop if CUR_NODE has already been checked only when
we have a fail stack.
Signed-off-by: Egor Ignatov <egori@altlinux.org>
---
Hi Paul,
Do you have any test cases for bug 11053(glibc) for gnulib?
This patch fixes the issue with "*+", but I'm not sure it
doesn't break your fix for 11053.
Best regards,
Egor
lib/regexec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/regexec.c b/lib/regexec.c
index 6309deac8..5d4113c9d 100644
--- a/lib/regexec.c
+++ b/lib/regexec.c
@@ -1414,7 +1414,7 @@ set_regs (const regex_t *preg, const re_match_context_t
*mctx, size_t nmatch,
update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch);
if ((idx == pmatch[0].rm_eo && cur_node == mctx->last_node)
- || re_node_set_contains (&eps_via_nodes, cur_node))
+ || (fs && re_node_set_contains (&eps_via_nodes, cur_node)))
{
Idx reg_idx;
cur_node = -1;
--
2.29.3
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] regex: fix match with possessive quantifier,
Egor Ignatov <=