Issue #13806: The size check in audioop decompression functions was too strict and could reject valid compressed data.

Patch by Oleg Plakhotnyuk.
This commit is contained in:
Antoine Pitrou 2012-01-28 22:01:59 +01:00
parent eba63c4203
commit 75ff65ef96
3 changed files with 25 additions and 9 deletions

View file

@ -1313,7 +1313,7 @@ audioop_ulaw2lin(PyObject *self, PyObject *args)
&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) {
@ -1382,7 +1382,7 @@ audioop_alaw2lin(PyObject *self, PyObject *args)
&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) {
@ -1527,7 +1527,7 @@ audioop_adpcm2lin(PyObject *self, PyObject *args)
&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) */