Issue #18408: Fix PyCode_Optimize(): raise a MemoryError on memory allocation

failure.
This commit is contained in:
Victor Stinner 2013-07-09 00:32:04 +02:00
parent bf2e2f9bdf
commit e0af3a802a
1 changed files with 6 additions and 2 deletions

View File

@ -381,8 +381,10 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
/* Make a modifiable copy of the code string */
codestr = (unsigned char *)PyMem_Malloc(codelen);
if (codestr == NULL)
if (codestr == NULL) {
PyErr_NoMemory();
goto exitError;
}
codestr = (unsigned char *)memcpy(codestr,
PyBytes_AS_STRING(code), codelen);
@ -396,8 +398,10 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
/* Mapping to new jump targets after NOPs are removed */
addrmap = (int *)PyMem_Malloc(codelen * sizeof(int));
if (addrmap == NULL)
if (addrmap == NULL) {
PyErr_NoMemory();
goto exitError;
}
blocks = markblocks(codestr, codelen);
if (blocks == NULL)