Issue #15726: Fix incorrect bounds checking in PyState_FindModule.
Patch by Robin Schreiber.
diff --git a/Misc/ACKS b/Misc/ACKS
index 2e72f22..0d851df 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -848,6 +848,7 @@
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 857a161..74c168f 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
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 31b5423..1392331 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -248,7 +248,7 @@
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;