From: neonene <53406459+neonene@users.noreply.github.com> Date: Sat, 8 Jun 2024 10:22:07 +0000 (+0900) Subject: gh-120244: Fix re.sub() reference leak (GH-120245) X-Git-Tag: v3.14.0a1~1555 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=38a25e9560cf0ff0b80d9e90bce793ff24c6e027;p=thirdparty%2FPython%2Fcpython.git gh-120244: Fix re.sub() reference leak (GH-120245) --- 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 000000000000..d21532f22a1d --- /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 c1eff63d921d..e33034086481 100644 --- a/Modules/_sre/sre.c +++ b/Modules/_sre/sre.c @@ -1622,6 +1622,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: