From: Sergey Miryanov Date: Wed, 12 Feb 2025 21:12:07 +0000 (-0800) Subject: gh-130050: Fix memory leaks in _testexternalinspection (#130051) X-Git-Tag: v3.14.0a6~447 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=633853004c5b20827872a32e99cebef52ae0f531;p=thirdparty%2FPython%2Fcpython.git gh-130050: Fix memory leaks in _testexternalinspection (#130051) --- diff --git a/Modules/_testexternalinspection.c b/Modules/_testexternalinspection.c index 22074c81b740..f1e331fea475 100644 --- a/Modules/_testexternalinspection.c +++ b/Modules/_testexternalinspection.c @@ -778,6 +778,7 @@ parse_coro_chain( } if (PyList_Append(render_to, name)) { + Py_DECREF(name); return -1; } Py_DECREF(name); @@ -955,7 +956,6 @@ parse_task( if (PyList_Append(render_to, result)) { goto err; } - Py_DECREF(result); PyObject *awaited_by = PyList_New(0); if (awaited_by == NULL) { @@ -973,6 +973,7 @@ parse_task( ) { goto err; } + Py_DECREF(result); return 0; @@ -1527,6 +1528,7 @@ get_async_stack_trace(PyObject* self, PyObject* args) } PyObject* calls = PyList_New(0); if (calls == NULL) { + Py_DECREF(result); return NULL; } if (PyList_SetItem(result, 0, calls)) { /* steals ref to 'calls' */