diff options
author | Raymond Hettinger <python@rcn.com> | 2015-09-06 00:06:18 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2015-09-06 00:06:18 (GMT) |
commit | 318c5aef0e4c01ed7b5dacd0daa0fa42b76e5b99 (patch) | |
tree | 1b9be7f3b257a8c57a855759ed90da84fb0cc679 | |
parent | 5f9525b115e7a8242d9f561e20b178c14795ce18 (diff) | |
parent | 2b2b75374e7215e622b95f89ce93259c05002f24 (diff) | |
download | cpython-318c5aef0e4c01ed7b5dacd0daa0fa42b76e5b99.zip cpython-318c5aef0e4c01ed7b5dacd0daa0fa42b76e5b99.tar.gz cpython-318c5aef0e4c01ed7b5dacd0daa0fa42b76e5b99.tar.bz2 |
merge
-rw-r--r-- | Modules/_collectionsmodule.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index adf1fb6..ea3e88f 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -419,9 +419,11 @@ deque_extend(dequeobject *deque, PyObject *iterable) deque->rightblock->data[deque->rightindex] = item; deque_trim_left(deque); } - Py_DECREF(it); - if (PyErr_Occurred()) + if (PyErr_Occurred()) { + Py_DECREF(it); return NULL; + } + Py_DECREF(it); Py_RETURN_NONE; } @@ -480,9 +482,11 @@ deque_extendleft(dequeobject *deque, PyObject *iterable) deque->leftblock->data[deque->leftindex] = item; deque_trim_right(deque); } - Py_DECREF(it); - if (PyErr_Occurred()) + if (PyErr_Occurred()) { + Py_DECREF(it); return NULL; + } + Py_DECREF(it); Py_RETURN_NONE; } @@ -497,8 +501,8 @@ deque_inplace_concat(dequeobject *deque, PyObject *other) result = deque_extend(deque, other); if (result == NULL) return result; - Py_DECREF(result); Py_INCREF(deque); + Py_DECREF(result); return (PyObject *)deque; } @@ -1260,8 +1264,8 @@ deque_repr(PyObject *deque) aslist, ((dequeobject *)deque)->maxlen); else result = PyUnicode_FromFormat("deque(%R)", aslist); - Py_DECREF(aslist); Py_ReprLeave(deque); + Py_DECREF(aslist); return result; } |