diff -r 454b97887c5a .hgignore --- a/.hgignore Fri Dec 02 19:49:02 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -.gdb_history -.purify -.svn/ -Makefile$ -Makefile.pre$ -TAGS$ -autom4te.cache$ -^build/ -^Doc/build/ -buildno$ -config.cache -config.log -config.status -config.status.lineno -db_home -platform$ -pyconfig.h$ -python$ -python.exe$ -reflog.txt$ -tags$ -Lib/plat-mac/errors.rsrc.df.rsrc -Doc/tools/sphinx/ -Doc/tools/docutils/ -Doc/tools/jinja/ -Doc/tools/jinja2/ -Doc/tools/pygments/ -Misc/python.pc -Modules/Setup$ -Modules/Setup.config -Modules/Setup.local -Modules/config.c -Modules/ld_so_aix$ -Parser/pgen$ -Parser/pgen.stamp$ -PCbuild/amd64/ -^core -^python-gdb.py -^python.exe-gdb.py -^pybuilddir.txt - -syntax: glob -libpython*.a -libpython*.so* -*.swp -*.o -*.pyc -*.pyo -*.pyd -*.cover -*~ -Lib/_sysconfigdata.py -Lib/lib2to3/*.pickle -Lib/test/data/* -Misc/*.wpu -PC/python_nt*.h -PC/pythonnt_rc*.h -PC/*.obj -PC/*.exe -PCbuild/*.exe -PCbuild/*.dll -PCbuild/*.pdb -PCbuild/*.lib -PCbuild/*.exp -PCbuild/*.o -PCbuild/*.ncb -PCbuild/*.bsc -PCbuild/*.user -PCbuild/*.suo -PCbuild/Win32-temp-* -PCbuild/x64-temp-* -__pycache__ -Modules/_testembed -.coverage -coverage/ -htmlcov/ diff -r 454b97887c5a Lib/test/test_audioop.py --- a/Lib/test/test_audioop.py Fri Dec 02 19:49:02 2011 +0200 +++ b/Lib/test/test_audioop.py Fri Jan 20 08:30:02 2012 +0400 @@ -21,9 +21,9 @@ data = [gendata1(), gendata2(), gendata4()] INVALID_DATA = [ - ('abc', 0), - ('abc', 2), - ('abc', 4), + (b'abc', 0), + (b'abc', 2), + (b'abc', 4), ] @@ -195,10 +195,15 @@ self.assertRaises(audioop.error, audioop.lin2lin, data, size, size2) self.assertRaises(audioop.error, audioop.ratecv, data, size, 1, 1, 1, state) self.assertRaises(audioop.error, audioop.lin2ulaw, data, size) + self.assertRaises(audioop.error, audioop.lin2alaw, data, size) + self.assertRaises(audioop.error, audioop.lin2adpcm, data, size, state) + + def test_wrongsize(self): + data = b'abc' + state = None + for size in (-1, 3, 5): self.assertRaises(audioop.error, audioop.ulaw2lin, data, size) - self.assertRaises(audioop.error, audioop.lin2alaw, data, size) self.assertRaises(audioop.error, audioop.alaw2lin, data, size) - self.assertRaises(audioop.error, audioop.lin2adpcm, data, size, state) self.assertRaises(audioop.error, audioop.adpcm2lin, data, size, state) def test_main(): diff -r 454b97887c5a Modules/audioop.c --- a/Modules/audioop.c Fri Dec 02 19:49:02 2011 +0200 +++ b/Modules/audioop.c Fri Jan 20 08:30:02 2012 +0400 @@ -1311,7 +1311,7 @@ &cp, &len, &size) ) return 0; - if (!audioop_check_parameters(len, size)) + if (!audioop_check_size(size)) return NULL; if (len > PY_SSIZE_T_MAX/size) { @@ -1380,7 +1380,7 @@ &cp, &len, &size) ) return 0; - if (!audioop_check_parameters(len, size)) + if (!audioop_check_size(size)) return NULL; if (len > PY_SSIZE_T_MAX/size) { @@ -1524,7 +1524,7 @@ &cp, &len, &size, &state) ) return 0; - if (!audioop_check_parameters(len, size)) + if (!audioop_check_size(size)) return NULL; /* Decode state, should have (value, step) */