Skip to content

Commit 584a464

Browse files
[3.13] gh-152951 - Fix double DECREF when newblock fails during deque.extend calls (GH-152961) (#152973)
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 ec6c89c commit 584a464

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
@@ -506,7 +506,6 @@ deque_extend_impl(dequeobject *deque, PyObject *iterable)
506506
iternext = *Py_TYPE(it)->tp_iternext;
507507
while ((item = iternext(it)) != NULL) {
508508
if (deque_append_lock_held(deque, item, maxlen) == -1) {
509-
Py_DECREF(item);
510509
Py_DECREF(it);
511510
return NULL;
512511
}

0 commit comments

Comments
 (0)