bpo-39590: make deque.__contains__ and deque.count hold strong references (GH-18421)

This commit is contained in:
sweeneyde 2020-02-09 03:16:43 -05:00 committed by GitHub
parent 7f6f7eef52
commit c6dedde160
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 0 deletions

View file

@ -965,7 +965,9 @@ deque_count(dequeobject *deque, PyObject *v)
while (--n >= 0) {
CHECK_NOT_END(b);
item = b->data[index];
Py_INCREF(item);
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
Py_DECREF(item);
if (cmp < 0)
return NULL;
count += cmp;
@ -1002,7 +1004,9 @@ deque_contains(dequeobject *deque, PyObject *v)
while (--n >= 0) {
CHECK_NOT_END(b);
item = b->data[index];
Py_INCREF(item);
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
Py_DECREF(item);
if (cmp) {
return cmp;
}