mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
Issue #18408: Fix PyCode_Optimize(): raise a MemoryError on memory allocation
failure.
This commit is contained in:
parent
bf2e2f9bdf
commit
e0af3a802a
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user