Rewrite the list_inline_repeat overflow check slightly differently.

This commit is contained in:
Guido van Rossum 2008-01-25 19:42:36 +00:00
parent 1c4282b41b
commit ee6bab06d3
1 changed files with 5 additions and 4 deletions

View File

@ -672,10 +672,11 @@ list_inplace_repeat(PyListObject *self, Py_ssize_t n)
return (PyObject *)self; return (PyObject *)self;
} }
p = size*n; if (size > SSIZE_MAX / n) {
if (p/n != size)
return PyErr_NoMemory(); return PyErr_NoMemory();
if (list_resize(self, p) == -1) }
if (list_resize(self, size*n) == -1)
return NULL; return NULL;
p = size; p = size;