diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2015-06-28 14:52:09 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-06-28 14:52:09 (GMT) |
commit | 449e2be12b654a9b892648ff5496c6d7dfbb85f9 (patch) | |
tree | 966f4a742492ccf2af0aa194137a3621a0bac237 /Lib | |
parent | 101ff3541cbe5bd9549722dc53c28d6c21b9389c (diff) | |
download | cpython-449e2be12b654a9b892648ff5496c6d7dfbb85f9.zip cpython-449e2be12b654a9b892648ff5496c6d7dfbb85f9.tar.gz cpython-449e2be12b654a9b892648ff5496c6d7dfbb85f9.tar.bz2 |
Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
functions of the audioop module.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_audioop.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_audioop.py b/Lib/test/test_audioop.py index 01ed18d..8f34d72 100644 --- a/Lib/test/test_audioop.py +++ b/Lib/test/test_audioop.py @@ -273,6 +273,16 @@ class TestAudioop(unittest.TestCase): # state must be a tuple or None, not an integer self.assertRaises(TypeError, audioop.adpcm2lin, b'\0', 1, 555) self.assertRaises(TypeError, audioop.lin2adpcm, b'\0', 1, 555) + # Issues #24456, #24457: index out of range + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (0, -1)) + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (0, 89)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (0, -1)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (0, 89)) + # value out of range + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (-0x8001, 0)) + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (0x8000, 0)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (-0x8001, 0)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (0x8000, 0)) def test_lin2alaw(self): self.assertEqual(audioop.lin2alaw(datas[1], 1), |