[Python-checkins] closes bpo-35623: Fix integer overflow when sorting large lists (GH-11380)

Benjamin Peterson webhook-mailer at python.org
Tue Jan 1 21:01:59 EST 2019

commit: f8b534477a2a51d85ea1663530f685f805f2b247
branch: master
author: sth <sth.dev at tejp.de>
committer: Benjamin Peterson <benjamin at python.org>
date: 2019-01-01T18:01:54-08:00

closes bpo-35623: Fix integer overflow when sorting large lists (GH-11380)

There is already a `Py_ssize_t i` defined at function scope that is used
for similar loops. By removing the local `int i` declaration that `i` is
used, which has the appropriate type.

A Misc/NEWS.d/next/Core and Builtins/2018-12-31-02-37-20.bpo-35623.24AQhY.rst
M Objects/listobject.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-12-31-02-37-20.bpo-35623.24AQhY.rst b/Misc/NEWS.d/next/Core and Builtins/2018-12-31-02-37-20.bpo-35623.24AQhY.rst
new file mode 100644
index 000000000000..6e3df4dc5d4e
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2018-12-31-02-37-20.bpo-35623.24AQhY.rst	
@@ -0,0 +1 @@
+Fix a crash when sorting very long lists. Patch by Stephan Hohe.
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 17c37ba97560..e11a3fdd1358 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -2283,7 +2283,6 @@ list_sort_impl(PyListObject *self, PyObject *keyfunc, int reverse)
         int ints_are_bounded = 1;
         /* Prove that assumption by checking every key. */
-        int i;
         for (i=0; i < saved_ob_size; i++) {
             if (keys_are_in_tuples &&

More information about the Python-checkins mailing list