From f8b534477a2a51d85ea1663530f685f805f2b247 Mon Sep 17 00:00:00 2001 From: sth Date: Wed, 2 Jan 2019 03:01:54 +0100 Subject: [PATCH] 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. --- .../Core and Builtins/2018-12-31-02-37-20.bpo-35623.24AQhY.rst | 1 + Objects/listobject.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-12-31-02-37-20.bpo-35623.24AQhY.rst 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 0000000000..6e3df4dc5d --- /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 17c37ba975..e11a3fdd13 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 && -- 2.40.0