From 7f9ea7543ecc978a636f2b0b5b28e0820644a312 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sun, 1 Mar 2015 00:38:00 -0800 Subject: Issue #23553: Use an unsigned cast to tighten-up the bounds checking logic. --- Modules/_collectionsmodule.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index 0ca9be1..69814bb 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; -- cgit v0.12