From a5955b0895aa011b0beff1ceb6539b2ff8888425 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 1 Jan 2019 18:25:23 -0800 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. (cherry picked from commit f8b534477a2a51d85ea1663530f685f805f2b247) Co-authored-by: sth --- .../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 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 c8ffeff09368..de73b8bf80fd 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -2232,7 +2232,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.47.3