A bug in PCRE could cause core dumps in patterns such as
'((a)*)*'. Andrew Kuchling posted a fix to the string-sig.
diff --git a/Modules/pypcre.c b/Modules/pypcre.c
index 1d2a9ca..69d6c22 100644
--- a/Modules/pypcre.c
+++ b/Modules/pypcre.c
@@ -809,6 +809,13 @@
case OP_KETRMIN:
return TRUE;
+ /* Skip over entire bracket groups with zero lower bound */
+
+ case OP_BRAZERO:
+ case OP_BRAMINZERO:
+ cc++;
+ /* Fall through */
+
/* Skip over assertive subpatterns */
case OP_ASSERT:
@@ -823,8 +830,6 @@
case OP_EOD:
case OP_CIRC:
case OP_DOLL:
- case OP_BRAZERO:
- case OP_BRAMINZERO:
case OP_NOT_WORD_BOUNDARY:
case OP_WORD_BOUNDARY:
case OP_NOT_WORD_BOUNDARY_L: