prevent a rather unlikely segfault
diff --git a/Objects/listobject.c b/Objects/listobject.c
index c5b1475..39b8b1a 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -183,9 +183,12 @@
 		return NULL;
 	}
 	if (i < 0 || i >= Py_SIZE(op)) {
-		if (indexerr == NULL)
+		if (indexerr == NULL) {
 			indexerr = PyString_FromString(
 				"list index out of range");
+			if (indexerr == NULL)
+				return NULL;
+		}
 		PyErr_SetObject(PyExc_IndexError, indexerr);
 		return NULL;
 	}
@@ -447,9 +450,12 @@
 list_item(PyListObject *a, Py_ssize_t i)
 {
 	if (i < 0 || i >= Py_SIZE(a)) {
-		if (indexerr == NULL)
+		if (indexerr == NULL) {
 			indexerr = PyString_FromString(
 				"list index out of range");
+			if (indexerr == NULL)
+				return NULL;
+		}
 		PyErr_SetObject(PyExc_IndexError, indexerr);
 		return NULL;
 	}