Fix another case of potential signed overflow.
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c
index cabe785..ec75c8f 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -411,7 +411,10 @@
 rangeiter_next(rangeiterobject *r)
 {
     if (r->index < r->len)
-        return PyLong_FromLong(r->start + (r->index++) * r->step);
+        /* cast to unsigned to avoid possible signed overflow 
+           in intermediate calculations. */
+        return PyLong_FromLong((long)(r->start +
+                                      (unsigned long)(r->index++) * r->step));
     return NULL;
 }