summaryrefslogtreecommitdiff
path: root/Lib/test/test_audioop.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-06-28 17:56:28 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2015-06-28 17:56:28 +0300
commit1e8d91adfe946807bcd2fd4f40327542eccebe21 (patch)
tree241ebd00d081aca6ad2a84a3a1dfac562c996505 /Lib/test/test_audioop.py
parent9aad9f27407861d674570bf5c0bd957bbe13663b (diff)
parentb9b9e7b46a880e7a628a698fd47173b7f7d68870 (diff)
downloadcpython-git-1e8d91adfe946807bcd2fd4f40327542eccebe21.tar.gz
Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
functions of the audioop module.
Diffstat (limited to 'Lib/test/test_audioop.py')
-rw-r--r--Lib/test/test_audioop.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_audioop.py b/Lib/test/test_audioop.py
index 01ed18d1c1..8f34d72427 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),