diff -r feed6d2097b1 Modules/itertoolsmodule.c --- a/Modules/itertoolsmodule.c Wed Sep 14 15:19:42 2011 +0200 +++ b/Modules/itertoolsmodule.c Thu Sep 15 18:52:59 2011 +0200 @@ -1234,7 +1234,7 @@ return NULL; lz->cnt++; oldnext = lz->next; - lz->next += lz->step; + lz->next = (size_t)lz->next + lz->step; if (lz->next < oldnext || (stop != -1 && lz->next > stop)) lz->next = stop; return item;