summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_io.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2013-01-19 10:41:45 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2013-01-19 10:41:45 (GMT)
commit9101e23ff6006d9ede7d46e8c9e7d39e23c2a3c3 (patch)
treec61aebdba4dddc8f10c9460ca33b0fa3f2e1495d /Lib/test/test_io.py
parentbd8f29028eab752e8e5c73703218a701028c1a9a (diff)
parent441d30fac7f4037e4a79e4ada873de3b6f6e5a26 (diff)
downloadcpython-9101e23ff6006d9ede7d46e8c9e7d39e23c2a3c3.zip
cpython-9101e23ff6006d9ede7d46e8c9e7d39e23c2a3c3.tar.gz
cpython-9101e23ff6006d9ede7d46e8c9e7d39e23c2a3c3.tar.bz2
Issue #15989: Fix several occurrences of integer overflow
when result of PyLong_AsLong() narrowed to int without checks. This is a backport of changesets 13e2e44db99d and 525407d89277.
Diffstat (limited to 'Lib/test/test_io.py')
-rw-r--r--Lib/test/test_io.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 6931e0a..1cf0527 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -32,6 +32,7 @@ import time
import unittest
import warnings
import weakref
+import _testcapi
from collections import deque, UserList
from itertools import cycle, count
from test import support
@@ -1962,6 +1963,14 @@ class TextIOWrapperTest(unittest.TestCase):
os.environ.clear()
os.environ.update(old_environ)
+ # Issue 15989
+ def test_device_encoding(self):
+ b = self.BytesIO()
+ b.fileno = lambda: _testcapi.INT_MAX + 1
+ self.assertRaises(OverflowError, self.TextIOWrapper, b)
+ b.fileno = lambda: _testcapi.UINT_MAX + 1
+ self.assertRaises(OverflowError, self.TextIOWrapper, b)
+
def test_encoding(self):
# Check the encoding attribute is always set, and valid
b = self.BytesIO()