Issue #13806: The size check in audioop decompression functions was too strict and could reject valid compressed data.
Patch by Oleg Plakhotnyuk.
diff --git a/Modules/audioop.c b/Modules/audioop.c
index a031d42..9ab4834 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -1313,7 +1313,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) {
@@ -1382,7 +1382,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) {
@@ -1527,7 +1527,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) */