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. ;)
This commit is contained in:
Christian Heimes 2014-01-27 01:12:00 +01:00
parent 936e2f36ad
commit c4ab9a4f1d
1 changed files with 2 additions and 1 deletions

View File

@ -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