{
if (deque->rightindex == BLOCKLEN - 1) {
block *b = newblock(deque);
- if (b == NULL)
+ if (b == NULL) {
+ Py_DECREF(item);
return -1;
+ }
b->leftlink = deque->rightblock;
CHECK_END(deque->rightblock->rightlink);
deque->rightblock->rightlink = b;
{
if (deque->leftindex == 0) {
block *b = newblock(deque);
- if (b == NULL)
+ if (b == NULL) {
+ Py_DECREF(item);
return -1;
+ }
b->rightlink = deque->leftblock;
CHECK_END(deque->leftblock->leftlink);
deque->leftblock->leftlink = b;
iternext = *Py_TYPE(it)->tp_iternext;
while ((item = iternext(it)) != NULL) {
if (deque_appendleft_lock_held(deque, item, maxlen) == -1) {
- Py_DECREF(item);
Py_DECREF(it);
return NULL;
}