From: Victor Stinner Date: Mon, 8 Jul 2013 22:32:04 +0000 (+0200) Subject: Issue #18408: Fix PyCode_Optimize(): raise a MemoryError on memory allocation X-Git-Tag: v3.4.0a1~277 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0af3a802a67d3467b18510869ee1cf9d233fe8e;p=python Issue #18408: Fix PyCode_Optimize(): raise a MemoryError on memory allocation failure. --- diff --git a/Python/peephole.c b/Python/peephole.c index e6877bb3e6..a49790a60f 100644 --- a/Python/peephole.c +++ b/Python/peephole.c @@ -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)