SF bug #1004088: big code objects (>64K) may be optimized incorrectly

Will backport.
This commit is contained in:
Raymond Hettinger 2004-08-06 19:46:34 +00:00
parent ba59be04fa
commit 98bd1814e2
1 changed files with 5 additions and 0 deletions

View File

@ -379,6 +379,11 @@ optimize_code(PyObject *code, PyObject* consts, PyObject *names)
if (codestr == NULL)
goto exitUnchanged;
codestr = memcpy(codestr, PyString_AS_STRING(code), codelen);
/* Avoid situations where jump retargeting could overflow */
if (codelen > 65000)
goto exitUnchanged;
blocks = markblocks(codestr, codelen);
if (blocks == NULL) {
PyMem_Free(codestr);