From 4066769b91797f2442df67a097231e3ca6e2139b Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 17 Aug 2001 13:59:27 +0000 Subject: Fix core dump in repr() of instancemethod whose class==NULL. --- Objects/classobject.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Objects/classobject.c b/Objects/classobject.c index 9652dfe..0f39d4b 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); -- cgit v0.12