summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2014-01-27 01:12:00 +0100
committerChristian Heimes <christian@python.org>2014-01-27 01:12:00 +0100
commitc4ab9a4f1d923bb60a341856da1d273b17a545e0 (patch)
tree041c081542e3d9929b1cf05a7076bb1cc297de3d /Modules/audioop.c
parentIssue #20193: Fix commit r6f217456b9ba by including clinic/zlibmodule.c.h ins... (diff)
downloadcpython-c4ab9a4f1d923bb60a341856da1d273b17a545e0.tar.gz
cpython-c4ab9a4f1d923bb60a341856da1d273b17a545e0.tar.bz2
cpython-c4ab9a4f1d923bb60a341856da1d273b17a545e0.zip
Issue #20394: Attempt to silence CID 1164423: Division or modulo by zero in audioop_ratecv_impl()
Serhiy and I had the same idea so it's most likely right. ;)
Diffstat (limited to 'Modules/audioop.c')
-rw-r--r--Modules/audioop.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/audioop.c b/Modules/audioop.c
index cc3a020bde1..159b2fbdc81 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -1304,6 +1304,7 @@ audioop_ratecv_impl(PyModuleDef *module, Py_buffer *fragment, int width, int nch
"weightA should be >= 1, weightB should be >= 0");
return NULL;
}
+ assert(fragment->len >= 0);
if (fragment->len % bytes_per_frame != 0) {
PyErr_SetString(AudioopError, "not a whole number of frames");
return NULL;
@@ -1370,7 +1371,7 @@ audioop_ratecv_impl(PyModuleDef *module, Py_buffer *fragment, int width, int nch
case ceiling(len/inrate) * outrate. */
/* compute ceiling(len/inrate) without overflow */
- Py_ssize_t q = len > 0 ? 1 + (len - 1) / inrate : 0;
+ Py_ssize_t q = 1 + (len - 1) / inrate;
if (outrate > PY_SSIZE_T_MAX / q / bytes_per_frame)
str = NULL;
else