Fix NULL dereference in case of out-of-memory condition
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 9c9ed75..ecf4645 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -186,11 +186,12 @@
 	listobject *op;
 {
 	int i;
-	for (i = 0; i < op->ob_size; i++) {
-		XDECREF(op->ob_item[i]);
-	}
-	if (op->ob_item != NULL)
+	if (op->ob_item != NULL) {
+		for (i = 0; i < op->ob_size; i++) {
+			XDECREF(op->ob_item[i]);
+		}
 		free((ANY *)op->ob_item);
+	}
 	free((ANY *)op);
 }