Mercurial > cpython-lru_cache-weakref
diff Objects/bufferobject.c @ 48114:c4d24fc8ba8a legacy-trunk
Security patches from Apple: prevent int overflow when allocating memory
| author | Neal Norwitz <nnorwitz@gmail.com> |
|---|---|
| date | Thu, 31 Jul 2008 17:17:14 +0000 |
| parents | 1c964ed35ef9 |
| children | 0bf6c42ab4e4 |
line wrap: on
line diff
--- a/Objects/bufferobject.c Thu Jul 31 15:15:45 2008 +0000 +++ b/Objects/bufferobject.c Thu Jul 31 17:17:14 2008 +0000 @@ -431,6 +431,10 @@ count = 0; if (!get_buf(self, &ptr, &size, ANY_BUFFER)) return NULL; + if (count > PY_SSIZE_T_MAX / size) { + PyErr_SetString(PyExc_MemoryError, "result too large"); + return NULL; + } ob = PyString_FromStringAndSize(NULL, size * count); if ( ob == NULL ) return NULL;
