From: Fred Drake Date: Thu, 1 Nov 2001 20:26:12 +0000 (+0000) Subject: PyFunction_Call() did not check the result of PyObject_Repr() for NULL, and X-Git-Tag: v2.2.1c1~919 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=573395a7a8163c38630c5262ed3910c279e4a767;p=python PyFunction_Call() did not check the result of PyObject_Repr() for NULL, and should just avoid calling it in the first place to avoid waiting for a repr of a large object like a dict or list. The result of PyObject_Repr() was being leaked as well. Bugfix candidate! --- diff --git a/Objects/abstract.c b/Objects/abstract.c index 9f4a13f68d..938c2e26ca 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -1660,8 +1660,8 @@ PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) "NULL result without error in PyObject_Call"); return result; } - PyErr_Format(PyExc_TypeError, "object is not callable: %s", - PyString_AS_STRING(PyObject_Repr(func))); + PyErr_Format(PyExc_TypeError, "'%s' object is not callable", + func->ob_type->tp_name); return NULL; }