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

zooba webhook-mailer at python.org
Wed Jul 28 17:52:16 EDT 2021


https://github.com/python/cpython/commit/899e37b202c8b096d55e2e3c300c9759ebfe7f7a
commit: 899e37b202c8b096d55e2e3c300c9759ebfe7f7a
branch: 3.9
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: zooba <steve.dower at microsoft.com>
date: 2021-07-28T22:52:11+01: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 e1672c478522e8..4206bb6c495edf 100644
--- a/Modules/_winapi.c
+++ b/Modules/_winapi.c
@@ -1713,7 +1713,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