Mercurial > cpython-lru_cache-weakref
diff Python/ast.c @ 47587:1c964ed35ef9 legacy-trunk
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 | Gregory P. Smith <greg@mad-scientist.com> |
|---|---|
| date | Wed, 11 Jun 2008 07:41:16 +0000 |
| parents | 52294af4b663 |
| children | 80109d4044cd |
line wrap: on
line diff
--- a/Python/ast.c Wed Jun 11 07:10:43 2008 +0000 +++ b/Python/ast.c Wed Jun 11 07:41:16 2008 +0000 @@ -3200,6 +3200,9 @@ buf = (char *)s; u = NULL; } else { + /* check for integer overflow */ + if (len > PY_SIZE_MAX / 4) + return NULL; /* "\XX" may become "\u005c\uHHLL" (12 bytes) */ u = PyString_FromStringAndSize((char *)NULL, len * 4); if (u == NULL)
