diff --git a/Misc/ACKS b/Misc/ACKS index 2e72f22592c..0d851df3134 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -848,6 +848,7 @@ Ralf Schmitt Michael Schneider Peter Schneider-Kamp Arvin Schnell +Robin Schreiber Chad J. Schroeder Sam Schulenburg Stefan Schwarzer diff --git a/Misc/NEWS b/Misc/NEWS index 857a161536c..74c168f1c53 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ What's New in Python 3.2.4 Core and Builtins ----------------- +- Issue #15726: Fix incorrect bounds checking in PyState_FindModule. + Patch by Robin Schreiber. + - Issue #15604: Update uses of PyObject_IsTrue() to check for and handle errors correctly. Patch by Serhiy Storchaka. diff --git a/Python/pystate.c b/Python/pystate.c index 31b5423d38e..13923313c0a 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -248,7 +248,7 @@ PyState_FindModule(struct PyModuleDef* m) return NULL; if (state->modules_by_index == NULL) return NULL; - if (index > PyList_GET_SIZE(state->modules_by_index)) + if (index >= PyList_GET_SIZE(state->modules_by_index)) return NULL; res = PyList_GET_ITEM(state->modules_by_index, index); return res==Py_None ? NULL : res;