]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-148274: properly handle result from `PyObject_VisitManagedDict` (GH-148275...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 9 Apr 2026 13:49:09 +0000 (15:49 +0200)
committerGitHub <noreply@github.com>
Thu, 9 Apr 2026 13:49:09 +0000 (13:49 +0000)
gh-148274: properly handle result from `PyObject_VisitManagedDict` (GH-148275)
(cherry picked from commit ee2775cfae6bce18541e18797b67e09f2d12f72b)

Co-authored-by: Max Bachmann <kontakt@maxbachmann.de>
Modules/_asynciomodule.c
Modules/_testcapimodule.c
Objects/typevarobject.c

index 50ee180e49523520c466f2e98e72628b31d3b34e..75317b55ad6f70a0eb2a117cb406cbcb7c659ed8 100644 (file)
@@ -955,8 +955,7 @@ FutureObj_traverse(PyObject *op, visitproc visit, void *arg)
     Py_VISIT(fut->fut_cancel_msg);
     Py_VISIT(fut->fut_cancelled_exc);
     Py_VISIT(fut->fut_awaited_by);
-    PyObject_VisitManagedDict((PyObject *)fut, visit, arg);
-    return 0;
+    return PyObject_VisitManagedDict((PyObject *)fut, visit, arg);
 }
 
 /*[clinic input]
@@ -2445,8 +2444,7 @@ TaskObj_traverse(PyObject *op, visitproc visit, void *arg)
     Py_VISIT(fut->fut_cancel_msg);
     Py_VISIT(fut->fut_cancelled_exc);
     Py_VISIT(fut->fut_awaited_by);
-    PyObject_VisitManagedDict((PyObject *)fut, visit, arg);
-    return 0;
+    return PyObject_VisitManagedDict((PyObject *)fut, visit, arg);
 }
 
 /*[clinic input]
index 53f630832f8bbc42db12371528d96e91c1b106c8..567966ca558bd0f5f63695cd2dda407969c20134 100644 (file)
@@ -3203,9 +3203,8 @@ typedef struct {
 } ManagedDictObject;
 
 int ManagedDict_traverse(PyObject *self, visitproc visit, void *arg) {
-    PyObject_VisitManagedDict(self, visit, arg);
     Py_VISIT(Py_TYPE(self));
-    return 0;
+    return PyObject_VisitManagedDict(self, visit, arg);
 }
 
 int ManagedDict_clear(PyObject *self) {
index c1737205c86b396646361fc34e97f10b65cb39da..a52a4cb7d5b4d6fc2be341229b6cc4e280de6492 100644 (file)
@@ -498,8 +498,7 @@ typevar_traverse(PyObject *self, visitproc visit, void *arg)
     Py_VISIT(tv->evaluate_constraints);
     Py_VISIT(tv->default_value);
     Py_VISIT(tv->evaluate_default);
-    PyObject_VisitManagedDict(self, visit, arg);
-    return 0;
+    return PyObject_VisitManagedDict(self, visit, arg);
 }
 
 static int
@@ -1193,8 +1192,7 @@ paramspec_traverse(PyObject *self, visitproc visit, void *arg)
     Py_VISIT(ps->bound);
     Py_VISIT(ps->default_value);
     Py_VISIT(ps->evaluate_default);
-    PyObject_VisitManagedDict(self, visit, arg);
-    return 0;
+    return PyObject_VisitManagedDict(self, visit, arg);
 }
 
 static int
@@ -1690,8 +1688,7 @@ typevartuple_traverse(PyObject *self, visitproc visit, void *arg)
     Py_VISIT(tvt->name);
     Py_VISIT(tvt->default_value);
     Py_VISIT(tvt->evaluate_default);
-    PyObject_VisitManagedDict(self, visit, arg);
-    return 0;
+    return PyObject_VisitManagedDict(self, visit, arg);
 }
 
 static int