summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-03-04 10:04:44 (GMT)
committerGitHub <noreply@github.com>2024-03-04 10:04:44 (GMT)
commitd8a56ea439f08a2c386dae61aa503cf9daeca80f (patch)
treed512bb8d34acea366df3f6a3f1538ff73a354113
parent722b9cf9fb9504bac082f474f0756da63a3674fc (diff)
downloadcpython-d8a56ea439f08a2c386dae61aa503cf9daeca80f.zip
cpython-d8a56ea439f08a2c386dae61aa503cf9daeca80f.tar.gz
cpython-d8a56ea439f08a2c386dae61aa503cf9daeca80f.tar.bz2
[3.12] gh-116296: Fix refleak in reduce_newobj() corner case (GH-116297) (#116299)
(cherry picked from commit 17c4849981905fb1c9bfbb2b963b6ee12e3efb2c) Co-authored-by: Erlend E. Aasland <erlend@python.org> Co-authored-by: Brandt Bucher <brandtbucher@microsoft.com>
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2024-03-04-10-19-51.gh-issue-116296.gvtxyU.rst1
-rw-r--r--Objects/typeobject.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Core and Builtins/2024-03-04-10-19-51.gh-issue-116296.gvtxyU.rst b/Misc/NEWS.d/next/Core and Builtins/2024-03-04-10-19-51.gh-issue-116296.gvtxyU.rst
new file mode 100644
index 0000000..0781e92
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2024-03-04-10-19-51.gh-issue-116296.gvtxyU.rst
@@ -0,0 +1 @@
+Fix possible refleak in :meth:`!object.__reduce__` internal error handling.
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 71d2068..7776ae2 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -6258,6 +6258,7 @@ reduce_newobj(PyObject *obj)
}
else {
/* args == NULL */
+ Py_DECREF(copyreg);
Py_DECREF(kwargs);
PyErr_BadInternalCall();
return NULL;