[Python-checkins] bpo-41085: Fix array.array.index() on 64-bit Windows (GH-21071)

Miss Islington (bot) webhook-mailer at python.org
Tue Jun 23 09:40:56 EDT 2020


https://github.com/python/cpython/commit/c6e24e7420a03a1751004e255a6f6c14265b9ea1
commit: c6e24e7420a03a1751004e255a6f6c14265b9ea1
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2020-06-23T06:40:47-07:00
summary:

bpo-41085: Fix array.array.index() on 64-bit Windows (GH-21071)


Fix integer overflow in the :meth:`array.array.index` method on 64-bit Windows
for index larger than ``2**31``.
(cherry picked from commit 1d3dad5f96ed445b958ec53dfa0d46812f2162d9)

Co-authored-by: WildCard65 <WildCard65 at users.noreply.github.com>

files:
A Misc/NEWS.d/next/Tests/2020-06-23-12-02-45.bpo-41085.JZKsyz.rst
M Modules/arraymodule.c

diff --git a/Misc/NEWS.d/next/Tests/2020-06-23-12-02-45.bpo-41085.JZKsyz.rst b/Misc/NEWS.d/next/Tests/2020-06-23-12-02-45.bpo-41085.JZKsyz.rst
new file mode 100644
index 0000000000000..463dffdd653ee
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2020-06-23-12-02-45.bpo-41085.JZKsyz.rst
@@ -0,0 +1,2 @@
+Fix integer overflow in the :meth:`array.array.index` method on 64-bit Windows
+for index larger than ``2**31``.
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 5289ea0e91a61..abcdd1e8a6e53 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1136,7 +1136,7 @@ array_array_index(arrayobject *self, PyObject *v)
         cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
         Py_DECREF(selfi);
         if (cmp > 0) {
-            return PyLong_FromLong((long)i);
+            return PyLong_FromSsize_t(i);
         }
         else if (cmp < 0)
             return NULL;



More information about the Python-checkins mailing list