From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 4 Mar 2024 10:04:21 +0000 (+0100) Subject: [3.11] gh-116296: Fix refleak in reduce_newobj() corner case (GH-116297) (#116300) X-Git-Tag: v3.11.9~106 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f068522a3a6091745df138bc9c9a7f7785bc6315;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-116296: Fix refleak in reduce_newobj() corner case (GH-116297) (#116300) (cherry picked from commit 17c4849981905fb1c9bfbb2b963b6ee12e3efb2c) Co-authored-by: Erlend E. Aasland Co-authored-by: Brandt Bucher --- 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 000000000000..0781e9282205 --- /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 8c2e725cac9d..9dfad5fa4389 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -5327,6 +5327,7 @@ reduce_newobj(PyObject *obj) } else { /* args == NULL */ + Py_DECREF(copyreg); Py_DECREF(kwargs); PyErr_BadInternalCall(); return NULL;