From: Anthony Baxter Date: Thu, 18 Apr 2002 05:11:50 +0000 (+0000) Subject: backport gvanrossum's patch: X-Git-Tag: v2.2.2b1~430 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4cedb9fbb43f5b37c5b4e112634b85c0621ee9cd;p=thirdparty%2FPython%2Fcpython.git 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 --- diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 848e0a6137cc..74dfff94e8ff 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -1589,6 +1589,11 @@ object_set_class(PyObject *self, PyObject *value, void *closure) 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",