]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-148274: properly handle result from `PyObject_VisitManagedDict` (#148275)
authorMax Bachmann <kontakt@maxbachmann.de>
Thu, 9 Apr 2026 13:20:50 +0000 (15:20 +0200)
committerGitHub <noreply@github.com>
Thu, 9 Apr 2026 13:20:50 +0000 (18:50 +0530)
Modules/_asynciomodule.c
Modules/_testcapimodule.c
Objects/typevarobject.c

index fda7d1ef934da0e65ade178772666f08215e2307..9679a7dde31b0d08ba058425ed732f4112909d86 100644 (file)
@@ -944,8 +944,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]
@@ -2425,8 +2424,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 aa12db20908b97fdc1b8bc0b5ca2f8d0b312f156..3ebe4ceea6a72e732fb873994e179e874e8c2387 100644 (file)
@@ -3280,9 +3280,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 b5413ee37a935892a432be4edbddf6c808df2dc6..c2b8ee43119cb1a4ce0c17a5616342bf84175d88 100644 (file)
@@ -500,8 +500,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
@@ -1195,8 +1194,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
@@ -1692,8 +1690,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