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:02:47 +01:00
commit 04d9dd06aa
3 changed files with 25 additions and 9 deletions

View file

@ -1311,7 +1311,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) {
@ -1380,7 +1380,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) {
@ -1524,7 +1524,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) */