From 2c0de79509912210c9b8864f73f5d9981125521d Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Wed, 8 Apr 2026 23:49:30 +0200 Subject: [PATCH 1/3] Properly handle result from PyObject_VisitManagedDict --- Modules/_asynciomodule.c | 6 ++---- Modules/_testcapimodule.c | 3 +-- Objects/typevarobject.c | 9 +++------ 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index fda7d1ef934da0..9679a7dde31b0d 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -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] diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index aa12db20908b97..3ebe4ceea6a72e 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -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) { diff --git a/Objects/typevarobject.c b/Objects/typevarobject.c index b5413ee37a9358..c2b8ee43119cb1 100644 --- a/Objects/typevarobject.c +++ b/Objects/typevarobject.c @@ -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 From bfaaf38c5ec6085dc7969a6151cd66af8d789207 Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 22:12:49 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20blu?= =?UTF-8?q?rb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst new file mode 100644 index 00000000000000..53f151ce270d15 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst @@ -0,0 +1 @@ +Ensure correct handling of the result returned by :c:func:`PyObject_VisitManagedDict` From cac858a77a7932729c844290eca1540547c58818 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Thu, 9 Apr 2026 14:36:41 +0200 Subject: [PATCH 3/3] remove news entry --- .../2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst deleted file mode 100644 index 53f151ce270d15..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-08-22-12-46.gh-issue-148274.sZbq5p.rst +++ /dev/null @@ -1 +0,0 @@ -Ensure correct handling of the result returned by :c:func:`PyObject_VisitManagedDict`