diff options
author | Christian Heimes <christian@cheimes.de> | 2007-12-05 12:49:14 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2007-12-05 12:49:14 (GMT) |
commit | fe4826f6ace6076b4ded9275b5ad5bdb04017b55 (patch) | |
tree | 9bdf0e23b4454b265e29e26140b9be89a1ba7cd6 /Objects/abstract.c | |
parent | 8f1fea50617766f79171102dd68449692d98fc1f (diff) | |
download | cpython-fe4826f6ace6076b4ded9275b5ad5bdb04017b55.zip cpython-fe4826f6ace6076b4ded9275b5ad5bdb04017b55.tar.gz cpython-fe4826f6ace6076b4ded9275b5ad5bdb04017b55.tar.bz2 |
merge -r59315:59316 from py3k: Fix issue #1553: An errornous __length_hint__ can make list() raise a SystemError
Diffstat (limited to 'Objects/abstract.c')
-rw-r--r-- | Objects/abstract.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c index 46288dd..1cb4ef8 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -1507,8 +1507,9 @@ PySequence_Tuple(PyObject *v) /* Guess result size and allocate space. */ n = _PyObject_LengthHint(v); if (n < 0) { - if (!PyErr_ExceptionMatches(PyExc_TypeError) && - !PyErr_ExceptionMatches(PyExc_AttributeError)) { + if (PyErr_Occurred() + && !PyErr_ExceptionMatches(PyExc_TypeError) + && !PyErr_ExceptionMatches(PyExc_AttributeError)) { Py_DECREF(it); return NULL; } |