diff --git a/Objects/classobject.c b/Objects/classobject.c
index e3b12c6..0661e81 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -324,6 +324,8 @@
 		return -1;
 	res = call_object(func, (object *)NULL);
 	DECREF(func);
+	if (res == NULL)
+		return -1;
 	if (is_intobject(res)) {
 		outcome = getintvalue(res);
 		if (outcome < 0)
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index a6e02be..85fd58e 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -412,6 +412,8 @@
 		return NULL;
 	}
 	n = (*sq->sq_length)(v);
+	if (n < 0)
+		return NULL;
 	if (n == 0) {
 		err_setstr(ValueError, "min() or max() of empty sequence");
 		return NULL;
diff --git a/Python/ceval.c b/Python/ceval.c
index d3a732a..86ee6cf 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1881,6 +1881,8 @@
 	}
 	i = getintvalue(w);
 	n = (*sq->sq_length)(v);
+	if (n < 0)
+		return NULL; /* Exception */
 	if (i >= n)
 		return NULL; /* End of loop */
 	return (*sq->sq_item)(v, i);
