cpython: adceb14cab96 (original) (raw)
--- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -2343,9 +2343,10 @@ callmethod(PyObject* func, const char *f { PyObject *args, *result;
+ if (!PyCallable_Check(func)) { type_error("attribute of type '%.200s' is not callable", func);
} @@ -2363,7 +2364,6 @@ callmethod(PyObject* func, const char *f } result = call_function_tail(func, args);Py_XDECREF(func);[](#l1.11) return NULL;[](#l1.12)
- Py_XDECREF(func); Py_DECREF(args); return result; }
@@ -2385,6 +2385,7 @@ PyObject_CallMethod(PyObject *o, const c va_start(va, format); retval = callmethod(func, format, va, 0); va_end(va);
@@ -2406,6 +2407,7 @@ PyObject * va_start(va, format); retval = callmethod(func, format, va, 0); va_end(va);
@@ -2426,6 +2428,7 @@ PyObject * va_start(va, format); retval = callmethod(func, format, va, 1); va_end(va);
@@ -2447,6 +2450,7 @@ PyObject * va_start(va, format); retval = callmethod(func, format, va, 1); va_end(va);