Backed out changeset ea904d4b3634
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 30da5db..169a23f 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -6314,12 +6314,12 @@
specific = (void *)slot_tp_new;
}
else {
- PyTypeObject *staticbase = type->tp_base;
specific = ((PyTypeObject *)self)->tp_new;
/* Check that the user does not do anything
silly and unsafe like object.__new__(dict).
To do this, we check that the most derived
base that's not a heap type is this type. */
+ PyTypeObject *staticbase = type->tp_base;
while (staticbase &&
(staticbase->tp_flags & Py_TPFLAGS_HEAPTYPE))
staticbase = staticbase->tp_base;