gh-152951 - Fix double DECREF when `newblock` fails during deque.exte… · python/cpython@a90576d

GitHub

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.

Original file line numberDiff line numberDiff line change@@ -512,7 +512,6 @@ deque_extend_impl(dequeobject *deque, PyObject *iterable)

512512iternext=*Py_TYPE(it)->tp_iternext;

513513while ((item=iternext(it)) !=NULL) {

514514if (deque_append_lock_held(deque, item, maxlen) ==-1) {

515-Py_DECREF(item);

516515Py_DECREF(it);

517516returnNULL;

518517 }