SF bug #1155938: Missing None check for __init__().
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 600dca5..6c31c73 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -4753,6 +4753,12 @@
 	Py_DECREF(meth);
 	if (res == NULL)
 		return -1;
+	if (res != Py_None) {
+		PyErr_SetString(PyExc_TypeError,
+			   "__init__() should return None");
+		Py_DECREF(res);
+		return -1;
+	}
 	Py_DECREF(res);
 	return 0;
 }