cpython: 9f2a1d9d7164 (original) (raw)

Mercurial > cpython

changeset 96190:9f2a1d9d7164

Issue #23985: Fixed integer overflow in iterator object. Patch by Clement Rouault. [#23985]

Serhiy Storchaka storchaka@gmail.com
date Thu, 21 May 2015 20:51:53 +0300
parents 84d7ec21cc43(current diff)5b86a1abc8c3(diff)
children f23533fa6afa
files Misc/ACKS Misc/NEWS Objects/iterobject.c
diffstat 3 files changed, 33 insertions(+), 0 deletions(-)[+] [-] Lib/test/test_iter.py 25 Misc/NEWS 3 Objects/iterobject.c 5

line wrap: on

line diff

--- a/Lib/test/test_iter.py +++ b/Lib/test/test_iter.py @@ -1,5 +1,6 @@

Test iterators.

+import sys import unittest from test.support import run_unittest, TESTFN, unlink, cpython_only import pickle @@ -48,6 +49,10 @@ class SequenceClass: else: raise IndexError +class UnlimitedSequenceClass:

+

Main test suite

class TestCase(unittest.TestCase): @@ -919,6 +924,26 @@ class TestCase(unittest.TestCase): lst.extend(gen()) self.assertEqual(len(lst), 760)

+

+ def test_main(): run_unittest(TestCase)

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ Release date: 2015-05-24 Core and Builtins ----------------- +- Issue #23985: Fixed integer overflow in iterator object. Patch by

--- a/Objects/iterobject.c +++ b/Objects/iterobject.c @@ -54,6 +54,11 @@ iter_iternext(PyObject *iterator) seq = it->it_seq; if (seq == NULL) return NULL;

result = PySequence_GetItem(seq, it->it_index); if (result != NULL) {