diff Objects/memoryobject.c @ 48330:ac854cde3135

Merged revisions 64114 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r64114 | gregory.p.smith | 2008-06-11 09:41:16 +0200 (mer., 11 juin 2008) | 6 lines Merge in release25-maint r60793: Added checks for integer overflows, contributed by Google. Some are only available if asserts are left in the code, in cases where they can't be triggered from Python code. ........
author Amaury Forgeot d'Arc <amauryfa@gmail.com>
date Wed, 18 Jun 2008 00:47:36 +0000
parents a0193b08f0eb
children bf50085fbcd3
line wrap: on
line diff
--- a/Objects/memoryobject.c	Tue Jun 17 23:16:28 2008 +0000
+++ b/Objects/memoryobject.c	Wed Jun 18 00:47:36 2008 +0000
@@ -151,8 +151,11 @@
         char *ptr;
         void (*func)(int, Py_ssize_t *, Py_ssize_t *);
 
+        if (view->ndim > PY_SSIZE_T_MAX / sizeof(Py_ssize_t)) {
+                PyErr_NoMemory();
+                return -1;
+        }
 
-        /* XXX(nnorwitz): need to check for overflow! */
         indices = (Py_ssize_t *)PyMem_Malloc(sizeof(Py_ssize_t)*view->ndim);
         if (indices == NULL) {
                 PyErr_NoMemory();