mirror of
https://github.com/python/cpython.git
synced 2025-08-27 12:16:04 +00:00
Closes release blocker #3627.
Merged revisions 65335 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk TESTED=./python -E -tt ./Lib/test/regrtest.py -uall (both debug and opt) ........ r65335 | neal.norwitz | 2008-07-31 10:17:14 -0700 (Thu, 31 Jul 2008) | 1 line Security patches from Apple: prevent int overflow when allocating memory ........
This commit is contained in:
parent
06db799a53
commit
3ce5d9207e
11 changed files with 201 additions and 26 deletions
|
@ -83,6 +83,12 @@ PyBytes_FromStringAndSize(const char *str, Py_ssize_t size)
|
|||
return (PyObject *)op;
|
||||
}
|
||||
|
||||
if (size > PY_SSIZE_T_MAX - sizeof(PyBytesObject)) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"byte string is too large");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Inline PyObject_NewVar */
|
||||
op = (PyBytesObject *)PyObject_MALLOC(sizeof(PyBytesObject) + size);
|
||||
if (op == NULL)
|
||||
|
@ -111,7 +117,7 @@ PyBytes_FromString(const char *str)
|
|||
|
||||
assert(str != NULL);
|
||||
size = strlen(str);
|
||||
if (size > PY_SSIZE_T_MAX) {
|
||||
if (size > PY_SSIZE_T_MAX - sizeof(PyBytesObject)) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"byte string is too long");
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue