[Python-checkins] bpo-40263: Fixes an off-by-one error in _winapi_WaitForMultipleObjects_impl (GH-19501)

miss-islington webhook-mailer at python.org
Wed Jul 28 16:18:10 EDT 2021


https://github.com/python/cpython/commit/bccb7b9509e875ef23ec3225d03214ca047e5b1a
commit: bccb7b9509e875ef23ec3225d03214ca047e5b1a
branch: 3.10
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2021-07-28T13:18:01-07:00
summary:

bpo-40263: Fixes an off-by-one error in _winapi_WaitForMultipleObjects_impl (GH-19501)

(cherry picked from commit 92b5dc780db968f6277f42cb06926dddb7475dc6)

Co-authored-by: Ray Donnelly <mingw.android at gmail.com>

files:
A Misc/NEWS.d/next/Windows/2020-04-13-15-20-28.bpo-40263.1KKEbu.rst
M Modules/_winapi.c

diff --git a/Misc/NEWS.d/next/Windows/2020-04-13-15-20-28.bpo-40263.1KKEbu.rst b/Misc/NEWS.d/next/Windows/2020-04-13-15-20-28.bpo-40263.1KKEbu.rst
new file mode 100644
index 00000000000000..0c31606d4928c8
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2020-04-13-15-20-28.bpo-40263.1KKEbu.rst
@@ -0,0 +1,3 @@
+This is a follow-on bug from https://bugs.python.org/issue26903. Once that
+is applied we run into an off-by-one assertion problem. The assert was not
+correct.
diff --git a/Modules/_winapi.c b/Modules/_winapi.c
index f341493503c925..bf2498a017aff7 100644
--- a/Modules/_winapi.c
+++ b/Modules/_winapi.c
@@ -1722,7 +1722,7 @@ _winapi_WaitForMultipleObjects_impl(PyObject *module, PyObject *handle_seq,
     nhandles = PySequence_Length(handle_seq);
     if (nhandles == -1)
         return NULL;
-    if (nhandles < 0 || nhandles >= MAXIMUM_WAIT_OBJECTS - 1) {
+    if (nhandles < 0 || nhandles > MAXIMUM_WAIT_OBJECTS - 1) {
         PyErr_Format(PyExc_ValueError,
                      "need at most %zd handles, got a sequence of length %zd",
                      MAXIMUM_WAIT_OBJECTS - 1, nhandles);



More information about the Python-checkins mailing list