(original) (raw)

changeset: 84519:a45407fa4a5b user: Victor Stinner victor.stinner@gmail.com date: Tue Jul 09 00:32:04 2013 +0200 files: Python/peephole.c description: Issue #18408: Fix PyCode_Optimize(): raise a MemoryError on memory allocation failure. diff -r 2ef2edfd1a4c -r a45407fa4a5b Python/peephole.c --- a/Python/peephole.c Tue Jul 09 00:29:03 2013 +0200 +++ b/Python/peephole.c Tue Jul 09 00:32:04 2013 +0200 @@ -381,8 +381,10 @@ /* 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 @@ /* 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) /victor.stinner@gmail.com