mirror of https://github.com/python/cpython
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.
This commit is contained in:
parent
fb3a630001
commit
a41f085144
|
@ -1456,8 +1456,10 @@ pmerge(PyObject *acc, PyObject* to_merge) {
|
||||||
that is not included in acc.
|
that is not included in acc.
|
||||||
*/
|
*/
|
||||||
remain = (int *)PyMem_MALLOC(SIZEOF_INT*to_merge_size);
|
remain = (int *)PyMem_MALLOC(SIZEOF_INT*to_merge_size);
|
||||||
if (remain == NULL)
|
if (remain == NULL) {
|
||||||
|
PyErr_NoMemory();
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
for (i = 0; i < to_merge_size; i++)
|
for (i = 0; i < to_merge_size; i++)
|
||||||
remain[i] = 0;
|
remain[i] = 0;
|
||||||
|
|
||||||
|
@ -1489,7 +1491,7 @@ pmerge(PyObject *acc, PyObject* to_merge) {
|
||||||
}
|
}
|
||||||
ok = PyList_Append(acc, candidate);
|
ok = PyList_Append(acc, candidate);
|
||||||
if (ok < 0) {
|
if (ok < 0) {
|
||||||
PyMem_Free(remain);
|
PyMem_FREE(remain);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
for (j = 0; j < to_merge_size; j++) {
|
for (j = 0; j < to_merge_size; j++) {
|
||||||
|
|
Loading…
Reference in New Issue