https://github.com/python/cpython/commit/46e69f8c2568ce7cc6041f8a601478e39d01efb1
commit: 46e69f8c2568ce7cc6041f8a601478e39d01efb1
branch: 3.12
author: Miss Islington (bot) <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2024-06-08T14:10:44+03:00
summary:

[3.12] gh-120244: Fix re.sub() reference leak (GH-120245) (GH-120265)

(cherry picked from commit 38a25e9560cf0ff0b80d9e90bce793ff24c6e027)

Co-authored-by: neonene <[email protected]>

files:
A Misc/NEWS.d/next/Library/2024-06-08-09-45-31.gh-issue-120244.8o9Dzr.rst
M Modules/_sre/sre.c

diff --git 
a/Misc/NEWS.d/next/Library/2024-06-08-09-45-31.gh-issue-120244.8o9Dzr.rst 
b/Misc/NEWS.d/next/Library/2024-06-08-09-45-31.gh-issue-120244.8o9Dzr.rst
new file mode 100644
index 00000000000000..d21532f22a1d38
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-06-08-09-45-31.gh-issue-120244.8o9Dzr.rst
@@ -0,0 +1 @@
+Fix memory leak in :func:`re.sub()` when the replacement string contains 
backreferences.
diff --git a/Modules/_sre/sre.c b/Modules/_sre/sre.c
index 0547390454a30e..8ef35d0658c703 100644
--- a/Modules/_sre/sre.c
+++ b/Modules/_sre/sre.c
@@ -1572,6 +1572,7 @@ _sre_template_impl(PyObject *module, PyObject *pattern, 
PyObject *template)
         }
         self->items[i].literal = Py_XNewRef(literal);
     }
+    PyObject_GC_Track(self);
     return (PyObject*) self;
 
 bad_template:

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to