Mercurial > cpython-lru_cache-weakref
diff Python/bltinmodule.c @ 57550:75e1b8c05f43 legacy-trunk
Issue #6985: number of range() items should be constrained to lie
in a Py_ssize_t, not an int.
| author | Mark Dickinson <dickinsm@gmail.com> |
|---|---|
| date | Thu, 03 Dec 2009 12:08:56 +0000 |
| parents | b9b683eedee1 |
| children | 20b7deb53d4e |
line wrap: on
line diff
--- a/Python/bltinmodule.c Thu Dec 03 02:52:39 2009 +0000 +++ b/Python/bltinmodule.c Thu Dec 03 12:08:56 2009 +0000 @@ -1754,7 +1754,7 @@ PyObject *curnum = NULL; PyObject *v = NULL; long bign; - int i, n; + Py_ssize_t i, n; int cmp_result; PyObject *zero = PyLong_FromLong(0); @@ -1834,7 +1834,7 @@ Py_DECREF(neg_istep); } - n = (int)bign; + n = (Py_ssize_t)bign; if (bign < 0 || (long)n != bign) { PyErr_SetString(PyExc_OverflowError, "range() result has too many items"); @@ -1914,7 +1914,7 @@ { long ilow = 0, ihigh = 0, istep = 1; long bign; - int i, n; + Py_ssize_t i, n; PyObject *v; @@ -1943,7 +1943,7 @@ bign = get_len_of_range(ilow, ihigh, istep); else bign = get_len_of_range(ihigh, ilow, -istep); - n = (int)bign; + n = (Py_ssize_t)bign; if (bign < 0 || (long)n != bign) { PyErr_SetString(PyExc_OverflowError, "range() result has too many items");
