Mercurial > cpython-lru_cache-weakref
diff Objects/obmalloc.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 | e70cdce0e8b2 |
| children | 887ee6bd9284 |
line wrap: on
line diff
--- a/Objects/obmalloc.c Tue Jun 17 23:16:28 2008 +0000 +++ b/Objects/obmalloc.c Wed Jun 18 00:47:36 2008 +0000 @@ -526,9 +526,9 @@ numarenas = maxarenas ? maxarenas << 1 : INITIAL_ARENA_OBJECTS; if (numarenas <= maxarenas) return NULL; /* overflow */ + if (numarenas > PY_SIZE_MAX / sizeof(*arenas)) + return NULL; /* overflow */ nbytes = numarenas * sizeof(*arenas); - if (nbytes / sizeof(*arenas) != numarenas) - return NULL; /* overflow */ arenaobj = (struct arena_object *)realloc(arenas, nbytes); if (arenaobj == NULL) return NULL;
