From 35f2803a2454231de6c0c29e91a819c847e4da18 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 21 Nov 2013 12:16:35 +0100 Subject: Close #19578: Fix list_ass_subscript(), handle list_resize() failure Notify the caller of the failure (MemoryError exception). --- Objects/listobject.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Objects/listobject.c b/Objects/listobject.c index 7d5674c..5b75968 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -2483,6 +2483,7 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value) PyObject **garbage; size_t cur; Py_ssize_t i; + int res; if (slicelength <= 0) return 0; @@ -2533,14 +2534,14 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value) } Py_SIZE(self) -= slicelength; - list_resize(self, Py_SIZE(self)); + res = list_resize(self, Py_SIZE(self)); for (i = 0; i < slicelength; i++) { Py_DECREF(garbage[i]); } PyMem_FREE(garbage); - return 0; + return res; } else { /* assign slice */ -- cgit v0.12