- fix a GC bug caused by malloc() failing
diff --git a/Objects/classobject.c b/Objects/classobject.c
index 19059fc..c362b80 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -437,7 +437,6 @@
if (inst == NULL)
return NULL;
inst->in_dict = PyDict_New();
- PyObject_GC_Init(inst);
if (inst->in_dict == NULL) {
inst = (PyInstanceObject *) PyObject_AS_GC(inst);
PyObject_DEL(inst);
@@ -445,6 +444,7 @@
}
Py_INCREF(class);
inst->in_class = (PyClassObject *)class;
+ PyObject_GC_Init(inst);
if (initstr == NULL)
initstr = PyString_InternFromString("__init__");
init = instance_getattr2(inst, initstr);