Issue 1242657: list(obj) can swallow KeyboardInterrupt
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 7b4bf35..98d7e47 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -838,6 +838,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) {