Skip to content

Commit ce373b8

Browse files
[3.15] gh-152951 - Fix double DECREF when newblock fails during deque.extend calls (GH-152961) (#152971)
gh-152951 - Fix double DECREF when `newblock` fails during deque.extend calls (GH-152961) (cherry picked from commit a90576d) Co-authored-by: Steve Stagg <stestagg@gmail.com>
1 parent 138dd26 commit ce373b8

2 files changed

Lines changed: 2 additions & 1 deletion

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
:class:`collections.deque` prevent rare crash when calling ``extend`` under
2+
high memory pressure conditions.

Modules/_collectionsmodule.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,6 @@ deque_extend_impl(dequeobject *deque, PyObject *iterable)
512512
iternext = *Py_TYPE(it)->tp_iternext;
513513
while ((item = iternext(it)) != NULL) {
514514
if (deque_append_lock_held(deque, item, maxlen) == -1) {
515-
Py_DECREF(item);
516515
Py_DECREF(it);
517516
return NULL;
518517
}

0 commit comments

Comments
 (0)