diff options
author | Benjamin Peterson <benjamin@python.org> | 2016-10-06 04:45:48 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2016-10-06 04:45:48 (GMT) |
commit | cd04db03debaead0abd1bff149389445284f88e2 (patch) | |
tree | 98fad3f687343fb125e7f0fef3dd57cf36df6265 /Lib/test | |
parent | 92e7c7f99c51419e1b4aa5eaaa22b7aeb6154ffd (diff) | |
download | cpython-cd04db03debaead0abd1bff149389445284f88e2.zip cpython-cd04db03debaead0abd1bff149389445284f88e2.tar.gz cpython-cd04db03debaead0abd1bff149389445284f88e2.tar.bz2 |
mmap: do all internal arithmetic with Py_ssize_t while being very careful about overflow
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_mmap.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/test/test_mmap.py b/Lib/test/test_mmap.py index b365d84..f8de8c2 100644 --- a/Lib/test/test_mmap.py +++ b/Lib/test/test_mmap.py @@ -713,6 +713,17 @@ class MmapTests(unittest.TestCase): gc_collect() self.assertIs(wr(), None) + def test_resize_past_pos(self): + m = mmap.mmap(-1, 8192) + self.addCleanup(m.close) + m.read(5000) + m.resize(4096) + self.assertEqual(m.read(14), b'') + self.assertRaises(ValueError, m.read_byte,) + self.assertRaises(ValueError, m.write_byte, 42) + self.assertRaises(ValueError, m.write, b'abc') + + class LargeMmapTests(unittest.TestCase): def setUp(self): |