From 1cf15af9a6f28750f37b08c028ada31d38e818dd Mon Sep 17 00:00:00 2001 From: Pablo Galindo Date: Wed, 27 May 2020 10:03:38 +0100 Subject: bpo-40217: Ensure Py_VISIT(Py_TYPE(self)) is always called for PyType_FromSpec types (reverts GH-19414) (GH-20264) Heap types now always visit the type in tp_traverse. See added docs for details. This reverts commit 0169d3003be3d072751dd14a5c84748ab63a249f. Automerge-Triggered-By: @encukou --- Objects/structseq.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Objects/structseq.c') diff --git a/Objects/structseq.c b/Objects/structseq.c index 9bdda87ae0..b17b1f99a5 100644 --- a/Objects/structseq.c +++ b/Objects/structseq.c @@ -70,6 +70,9 @@ PyStructSequence_GetItem(PyObject* op, Py_ssize_t i) static int structseq_traverse(PyStructSequence *obj, visitproc visit, void *arg) { + if (Py_TYPE(obj)->tp_flags & Py_TPFLAGS_HEAPTYPE) { + Py_VISIT(Py_TYPE(obj)); + } Py_ssize_t i, size; size = REAL_SIZE(obj); for (i = 0; i < size; ++i) { -- cgit v1.2.1