Don't leak the list object if there's an error allocating the item storage.  Backport candidate
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 105df4c..e6bed71 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -108,8 +108,10 @@
 		op->ob_item = NULL;
 	else {
 		op->ob_item = (PyObject **) PyMem_MALLOC(nbytes);
-		if (op->ob_item == NULL)
+		if (op->ob_item == NULL) {
+			Py_DECREF(op);
 			return PyErr_NoMemory();
+		}
 		memset(op->ob_item, 0, nbytes);
 	}
 	op->ob_size = size;