diff --git a/Misc/NEWS b/Misc/NEWS index f210a3018a4..84ce9c84232 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -392,6 +392,10 @@ Library Extension Modules ----------------- +- Issue #9526: Remove some outdated (int) casts that were preventing + the array module from working correctly with arrays of more than + 2**31 elements. + - Fix memory leak in ssl._ssl._test_decode_cert. - Issue #8065: Fix memory leak in readline module (from failure to diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c index b6cffa01ea0..59f20a5da81 100644 --- a/Modules/arraymodule.c +++ b/Modules/arraymodule.c @@ -794,7 +794,7 @@ array_iter_extend(arrayobject *self, PyObject *bb) return -1; while ((v = PyIter_Next(it)) != NULL) { - if (ins1(self, (int) Py_SIZE(self), v) != 0) { + if (ins1(self, Py_SIZE(self), v) != 0) { Py_DECREF(v); Py_DECREF(it); return -1; @@ -1069,7 +1069,7 @@ the buffer length in bytes."); static PyObject * array_append(arrayobject *self, PyObject *v) { - return ins(self, (int) Py_SIZE(self), v); + return ins(self, Py_SIZE(self), v); } PyDoc_STRVAR(append_doc,