Issue 1242657: list(obj) can swallow KeyboardInterrupt.
diff --git a/Objects/listobject.c b/Objects/listobject.c
index b834363..2bab4ef 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -802,6 +802,10 @@
 
 	/* Guess a result list size. */
 	n = _PyObject_LengthHint(b, 8);
+	if (n == -1) {
+		Py_DECREF(it);
+		return NULL;
+	}
 	m = Py_SIZE(self);
 	mn = m + n;
 	if (mn >= m) {