]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.11] gh-107715: Escape class name in regular expression (GH-107716) (GH-107727)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 12 Aug 2023 11:57:49 +0000 (04:57 -0700)
committerGitHub <noreply@github.com>
Sat, 12 Aug 2023 11:57:49 +0000 (11:57 +0000)
commit5f36e5ca5fe6768ae639aaf7c04ed41b665880e1
treeee0441ec1ce3833489594b1e7912d521eb0eaaad
parentec254c5dfa8c99f1ec061b252d155386e93f19ef
[3.11] gh-107715: Escape class name in regular expression (GH-107716) (GH-107727)

This patch escapes the class name before embedding it in the regular expression
for `pat` in `doctest.DocTestFinder._find_lineno`. While class names do not
ordinarily contain special characters, it is possible to encounter these when a
class is created dynamically. Escaping the name will correctly return `None` in
this scenario, rather than potentially matching a different class or raising
`re.error` depending on the symbols used.
(cherry picked from commit 85793278793708ad6b7132a54ac9fb4b2c5bcac1)

Co-authored-by: Gertjan van Zwieten <git@gjvz.nl>
Lib/doctest.py
Misc/NEWS.d/next/Library/2023-08-07-14-12-07.gh-issue-107715.238r2f.rst [new file with mode: 0644]