From: Raymond Hettinger Date: Sun, 1 Mar 2015 08:38:00 +0000 (-0800) Subject: Issue #23553: Use an unsigned cast to tighten-up the bounds checking logic. X-Git-Tag: v3.5.0a2~60 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7f9ea7543ecc978a636f2b0b5b28e0820644a312;p=python Issue #23553: Use an unsigned cast to tighten-up the bounds checking logic. --- diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index 0ca9be1df5..69814bb34c 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -772,7 +772,7 @@ deque_item(dequeobject *deque, Py_ssize_t i) PyObject *item; Py_ssize_t n, index=i; - if (i < 0 || i >= Py_SIZE(deque)) { + if ((size_t)i >= (size_t)Py_SIZE(deque)) { PyErr_SetString(PyExc_IndexError, "deque index out of range"); return NULL; @@ -836,7 +836,7 @@ deque_ass_item(dequeobject *deque, Py_ssize_t i, PyObject *v) block *b; Py_ssize_t n, len=Py_SIZE(deque), halflen=(len+1)>>1, index=i; - if (i < 0 || i >= len) { + if ((size_t)i >= (size_t)len) { PyErr_SetString(PyExc_IndexError, "deque index out of range"); return -1;