[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 15:58:36 EDT 2021


https://github.com/python/cpython/commit/92b5dc780db968f6277f42cb06926dddb7475dc6
commit: 92b5dc780db968f6277f42cb06926dddb7475dc6
branch: main
author: Ray Donnelly <mingw.android at gmail.com>
committer: zooba <steve.dower at microsoft.com>
date: 2021-07-28T20:58:05+01:00
summary:

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

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