Issue #18408: Fix list.pop() to handle list_resize() failure (MemoryError).
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 0c82cc4..b18ef57 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -925,8 +925,10 @@
v = self->ob_item[i];
if (i == Py_SIZE(self) - 1) {
status = list_resize(self, Py_SIZE(self) - 1);
- assert(status >= 0);
- return v; /* and v now owns the reference the list had */
+ if (status >= 0)
+ return v; /* and v now owns the reference the list had */
+ else
+ return NULL;
}
Py_INCREF(v);
status = list_ass_slice(self, i, i+1, (PyObject *)NULL);