]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-130050: Fix memory leaks in _testexternalinspection (#130051)
authorSergey Miryanov <sergey.miryanov@gmail.com>
Wed, 12 Feb 2025 21:12:07 +0000 (13:12 -0800)
committerGitHub <noreply@github.com>
Wed, 12 Feb 2025 21:12:07 +0000 (21:12 +0000)
Modules/_testexternalinspection.c

index 22074c81b7405f3694751ba85f24b8038c2ce402..f1e331fea475c42eb85448a16e3f900f9315283c 100644 (file)
@@ -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' */