Mercurial > cpython-lru_cache-weakref
diff Objects/listobject.c @ 25742:396c8a24880c 2.2
Backport listobject.c 2.137 and tupleobject.c 2.75:
Add checks for size overflow on list*n, list+list, tuple+tuple.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 11 Oct 2002 21:13:14 +0000 |
| parents | b8728d58e9c3 |
| children | d43e82b8d79d |
line wrap: on
line diff
--- a/Objects/listobject.c Fri Oct 11 20:59:57 2002 +0000 +++ b/Objects/listobject.c Fri Oct 11 21:13:14 2002 +0000 @@ -399,6 +399,8 @@ } #define b ((PyListObject *)bb) size = a->ob_size + b->ob_size; + if (size < 0) + return PyErr_NoMemory(); np = (PyListObject *) PyList_New(size); if (np == NULL) { return NULL; @@ -427,6 +429,8 @@ if (n < 0) n = 0; size = a->ob_size * n; + if (size/a->ob_size != n) + return PyErr_NoMemory(); np = (PyListObject *) PyList_New(size); if (np == NULL) return NULL;
