From: Guido van Rossum Date: Fri, 17 Aug 2001 13:59:27 +0000 (+0000) Subject: Fix core dump in repr() of instancemethod whose class==NULL. X-Git-Tag: v2.2a3~476 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4066769b91797f2442df67a097231e3ca6e2139b;p=python Fix core dump in repr() of instancemethod whose class==NULL. --- diff --git a/Objects/classobject.c b/Objects/classobject.c index 9652dfe81c..0f39d4ba68 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -2058,15 +2058,19 @@ instancemethod_repr(PyMethodObject *a) } else sfuncname = PyString_AS_STRING(funcname); - klassname = PyObject_GetAttrString(klass, "__name__"); - if (klassname == NULL) - PyErr_Clear(); - else if (!PyString_Check(klassname)) { - Py_DECREF(klassname); + if (klass == NULL) klassname = NULL; + else { + klassname = PyObject_GetAttrString(klass, "__name__"); + if (klassname == NULL) + PyErr_Clear(); + else if (!PyString_Check(klassname)) { + Py_DECREF(klassname); + klassname = NULL; + } + else + sklassname = PyString_AS_STRING(klassname); } - else - sklassname = PyString_AS_STRING(klassname); if (self == NULL) sprintf(buffer, "", sklassname, sfuncname);