New submission from Serhiy Storchaka: Christian Heimes reported (http://permalink.gmane.org/gmane.comp.python.devel/145253) Coverity issue:
""" ** CID 1164423: Division or modulo by zero (DIVIDE_BY_ZERO) /Modules/audioop.c: 1375 in audioop_ratecv_impl() ________________________________________________________________________________________________________ *** CID 1164423: Division or modulo by zero (DIVIDE_BY_ZERO) /Modules/audioop.c: 1375 in audioop_ratecv_impl() 1369 without spurious overflow is the challenge; we can 1370 settle for a reasonable upper bound, though, in this 1371 case ceiling(len/inrate) * outrate. */ 1372 1373 /* compute ceiling(len/inrate) without overflow */ 1374 Py_ssize_t q = len > 0 ? 1 + (len - 1) / inrate : 0; >>> CID 1164423: Division or modulo by zero (DIVIDE_BY_ZERO) >>> In expression "9223372036854775807L / q", division by expression "q" which may be zero has undefined behavior. 1375 if (outrate > PY_SSIZE_T_MAX / q / bytes_per_frame) 1376 str = NULL; 1377 else 1378 str = PyBytes_FromStringAndSize(NULL, 1379 q * outrate * bytes_per_frame); 1380 } """ This is false positive. len should be non-negative and a case of 0 already checked just several lines before. Is Coverity aware asserts? Perhaps this patch will silence it. ---------- components: Build files: audioop_ratecv_coverity_silence.patch keywords: patch messages: 209284 nosy: christian.heimes, serhiy.storchaka priority: normal severity: normal stage: patch review status: open title: Coverity complains on audioop versions: Python 2.7, Python 3.3, Python 3.4 Added file: http://bugs.python.org/file33718/audioop_ratecv_coverity_silence.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20394> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com