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;