From 17c4849981905fb1c9bfbb2b963b6ee12e3efb2c Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Mon, 4 Mar 2024 10:46:18 +0100 Subject: [PATCH] gh-116296: Fix refleak in reduce_newobj() corner case (#116297) Co-authored-by: Brandt Bucher --- .../2024-03-04-10-19-51.gh-issue-116296.gvtxyU.rst | 1 + Objects/typeobject.c | 1 + 2 files changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2024-03-04-10-19-51.gh-issue-116296.gvtxyU.rst 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 00000000000..0781e928220 --- /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 fe3b7b87c8b..181d0323284 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -6549,6 +6549,7 @@ reduce_newobj(PyObject *obj) } else { /* args == NULL */ + Py_DECREF(copyreg); Py_DECREF(kwargs); PyErr_BadInternalCall(); return NULL;