diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-05-25 03:10:48 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-05-25 03:10:48 (GMT) |
commit | 94c65d9a8ff8ec56c2420f46a6622803f7f1b154 (patch) | |
tree | 2b89b8c34e06c7a7c8b5b2076f551af956a0477e /Python | |
parent | 14a3dd716d2da4158739e502e8af8ef12e944cac (diff) | |
download | cpython-94c65d9a8ff8ec56c2420f46a6622803f7f1b154.zip cpython-94c65d9a8ff8ec56c2420f46a6622803f7f1b154.tar.gz cpython-94c65d9a8ff8ec56c2420f46a6622803f7f1b154.tar.bz2 |
Merged revisions 72907 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72907 | benjamin.peterson | 2009-05-24 21:40:21 -0500 (Sun, 24 May 2009) | 1 line
handle errors from _PyObject_LookupSpecial when __get__ fails
........
Diffstat (limited to 'Python')
-rw-r--r-- | Python/sysmodule.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 6639acc..89613ec 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -652,10 +652,12 @@ sys_getsizeof(PyObject *self, PyObject *args, PyObject *kwds) method = _PyObject_LookupSpecial(o, "__sizeof__", &str__sizeof__); - if (method == NULL) - PyErr_Format(PyExc_TypeError, - "Type %.100s doesn't define __sizeof__", - Py_TYPE(o)->tp_name); + if (method == NULL) { + if (!PyErr_Occurred()) + PyErr_Format(PyExc_TypeError, + "Type %.100s doesn't define __sizeof__", + Py_TYPE(o)->tp_name); + } else { res = PyObject_CallFunctionObjArgs(method, NULL); Py_DECREF(method); |