Commit 3194d0aa authored by Victor Stinner's avatar Victor Stinner

Close #19578: Fix list_ass_subscript(), handle list_resize() failure

Notify the caller of the failure (MemoryError exception).
parent 324c6cbd
...@@ -2483,6 +2483,7 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value) ...@@ -2483,6 +2483,7 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value)
PyObject **garbage; PyObject **garbage;
size_t cur; size_t cur;
Py_ssize_t i; Py_ssize_t i;
int res;
if (slicelength <= 0) if (slicelength <= 0)
return 0; return 0;
...@@ -2533,14 +2534,14 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value) ...@@ -2533,14 +2534,14 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value)
} }
Py_SIZE(self) -= slicelength; Py_SIZE(self) -= slicelength;
list_resize(self, Py_SIZE(self)); res = list_resize(self, Py_SIZE(self));
for (i = 0; i < slicelength; i++) { for (i = 0; i < slicelength; i++) {
Py_DECREF(garbage[i]); Py_DECREF(garbage[i]);
} }
PyMem_FREE(garbage); PyMem_FREE(garbage);
return 0; return res;
} }
else { else {
/* assign slice */ /* assign slice */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment