From a41f08514463ffe1f985e1ef5b3e9123e7222dc5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 12 Jul 2013 00:42:14 +0200 Subject: [PATCH] Issue #18408: pmerge() help of mro_implementation() now raises MemoryError on memory allocation failure Replace also PyMem_Free() with PyMem_FREE() to be consistent with the rest of the function. --- Objects/typeobject.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 6eb2cf11032..560c929b73d 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -1456,8 +1456,10 @@ pmerge(PyObject *acc, PyObject* to_merge) { that is not included in acc. */ remain = (int *)PyMem_MALLOC(SIZEOF_INT*to_merge_size); - if (remain == NULL) + if (remain == NULL) { + PyErr_NoMemory(); return -1; + } for (i = 0; i < to_merge_size; i++) remain[i] = 0; @@ -1489,7 +1491,7 @@ pmerge(PyObject *acc, PyObject* to_merge) { } ok = PyList_Append(acc, candidate); if (ok < 0) { - PyMem_Free(remain); + PyMem_FREE(remain); return -1; } for (j = 0; j < to_merge_size; j++) {