From: Victor Stinner Date: Thu, 21 Nov 2013 11:16:35 +0000 (+0100) Subject: Close #19578: Fix list_ass_subscript(), handle list_resize() failure X-Git-Tag: v3.4.0b1~147^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=35f2803a2454231de6c0c29e91a819c847e4da18;p=thirdparty%2FPython%2Fcpython.git Close #19578: Fix list_ass_subscript(), handle list_resize() failure Notify the caller of the failure (MemoryError exception). --- diff --git a/Objects/listobject.c b/Objects/listobject.c index 7d5674c9f48d..5b75968fb387 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 */