summaryrefslogtreecommitdiff
path: root/Lib/sre_parse.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-07-18 23:37:31 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2015-07-18 23:37:31 +0300
commit498b5e98e9aaf5057d73cda1940b9c2d93305455 (patch)
tree05cc0dcbec54846266506038a8052e1a9b5b66a7 /Lib/sre_parse.py
parent44a5cd654d8f617df72936167c5f57141b8e86bb (diff)
parent485407ce1e4dc3b2005bc1c72ce6020c28f90030 (diff)
downloadcpython-git-498b5e98e9aaf5057d73cda1940b9c2d93305455.tar.gz
Issue #24580: Symbolic group references to open group in re patterns now are
explicitly forbidden as well as numeric group references.
Diffstat (limited to 'Lib/sre_parse.py')
-rw-r--r--Lib/sre_parse.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index c0f539dd93..67f84e940f 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -675,6 +675,9 @@ def _parse(source, state):
if gid is None:
msg = "unknown group name %r" % name
raise source.error(msg, len(name) + 1)
+ if not state.checkgroup(gid):
+ raise source.error("cannot refer to an open group",
+ len(name) + 1)
state.checklookbehindgroup(gid, source)
subpatternappend((GROUPREF, gid))
continue