]> granicus.if.org Git - python/commitdiff
Merged revisions 76298 via svnmerge from
authorMark Dickinson <dickinsm@gmail.com>
Sun, 15 Nov 2009 12:56:59 +0000 (12:56 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Sun, 15 Nov 2009 12:56:59 +0000 (12:56 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r76298 | mark.dickinson | 2009-11-15 12:56:08 +0000 (Sun, 15 Nov 2009) | 1 line

  Fix another case of potential signed overflow.
........

Objects/rangeobject.c

index 0fe119cff1f4744bd74544fa7119f6dc1648d533..c8b10eb6a8691c61f56f8c4555aaef3a6a675b4b 100644 (file)
@@ -354,7 +354,10 @@ static PyObject *
 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;
 }