bpo-36452: dictiter: track maximum iteration count (GH-12596)

This commit is contained in:
Thomas Perl 2019-03-28 07:03:25 +01:00 committed by Inada Naoki
parent 738cb42a14
commit 796cc6e3ad
3 changed files with 16 additions and 0 deletions

View file

@ -3543,6 +3543,12 @@ dictiter_iternextkey(dictiterobject *di)
goto fail;
key = entry_ptr->me_key;
}
// We found an element (key), but did not expect it
if (di->len == 0) {
PyErr_SetString(PyExc_RuntimeError,
"dictionary keys changed during iteration");
goto fail;
}
di->di_pos = i+1;
di->len--;
Py_INCREF(key);