diff Objects/typeobject.c @ 23140:46ffb149ea73 2.2

backport gvanrossum's patch: SF bug #541883 (Vincent Fiack). A stupid bug in object_set_class(): didn't check for value==NULL before checking its type. Bugfix candidate. Original patches were: python/dist/src/Objects/typeobject.c:2.142
author Anthony Baxter <anthonybaxter@gmail.com>
date Thu, 18 Apr 2002 05:11:50 +0000
parents 90adbcf62013
children ce1da2f97807
line wrap: on
line diff
--- a/Objects/typeobject.c	Thu Apr 18 05:10:58 2002 +0000
+++ b/Objects/typeobject.c	Thu Apr 18 05:11:50 2002 +0000
@@ -1589,6 +1589,11 @@
 	PyTypeObject *old = self->ob_type;
 	PyTypeObject *new, *newbase, *oldbase;
 
+	if (value == NULL) {
+		PyErr_SetString(PyExc_TypeError,
+				"can't delete __class__ attribute");
+		return -1;
+	}
 	if (!PyType_Check(value)) {
 		PyErr_Format(PyExc_TypeError,
 		  "__class__ must be set to new-style class, not '%s' object",