...
Tool | Version | Checker | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| int-division-by-zero int-modulo-by-zero | Fully checked | ||||||||||||||||||||||||||||
Axivion Bauhaus Suite |
| CertC-INT33 | |||||||||||||||||||||||||||||
CodeSonar |
| LANG.ARITH.DIVZERO LANG.ARITH.FDIVZERO | Division by zero Float Division By Zero | ||||||||||||||||||||||||||||
Compass/ROSE | Can detect some violations of this rule (In particular, it ensures that all operations involving division or modulo are preceded by a check ensuring that the second operand is nonzero.) | ||||||||||||||||||||||||||||||
Coverity |
| DIVIDE_BY_ZERO | Fully implemented | ||||||||||||||||||||||||||||
Cppcheck |
| zerodiv zerodivcond | Context sensitive analysis of division by zero | ||||||||||||||||||||||||||||
Cppcheck Premium |
| zerodiv premium-cert-int33-c | Context sensitive analysis of division by zero Not detected for division by struct member / array element / pointer data that is 0 Detected when there is unsafe division by variable before/after test if variable is zero | ||||||||||||||||||||||||||||
Helix QAC |
| C2830 C++2830 DF2831, DF2832, DF2833 | |||||||||||||||||||||||||||||
Klocwork |
| DBZ.CONST | |||||||||||||||||||||||||||||
LDRA tool suite |
| 43 D, 127 D, 248 S, 629 S, 80 X | Partially implemented | ||||||||||||||||||||||||||||
Parasoft C/C++test | 9.5 | BD-PB-ZERO | Fully implemented
| CERT_C-INT33-a | Avoid division by zero | ||||||||||||||||||||||||||
Parasoft Insure++ | Runtime | detectionanalysis | |||||||||||||||||||||||||||||
Polyspace Bug Finder |
| R2016a
| Checks for:
| ,
| ,
| Dividing integer number by zero Division Remainder | PRQA QA-C | ||||||||||||||||||||||||
Include Page | PRQA QA-C_v | PRQA QA-C_v | 2830 (C) | Fully implemented | PRQA QA-C++ | ||||||||||||||||||||||||||
Include Page | cplusplus:PRQA QA-C++_V | cplusplus:PRQA QA-C++_V | 2831, 2832, 2833, 2834 | SonarQube C/C++ Plugin | |||||||||||||||||||||||||||
Include Page | SonarQube C/C++ Plugin_V | SonarQube C/C++ Plugin_V | Rule fully covered. | ||||||||||||||||||||||||||||
SonarQube C/C++ Plugin |
| S3518 | |||||||||||||||||||||||||||||
PVS-Studio |
| V609 | |||||||||||||||||||||||||||||
TrustInSoft Analyzer |
| division_by_zero | Exhaustively verified (see one compliant and one non-compliant example). | S3518
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...
Key here (explains table format and definitions)
Taxonomy | Taxonomy item | Relationship |
---|---|---|
CERT C | INT32-C. Ensure that operations on signed integers do not result in overflow | Prior to 2018-01-12: CERT: Unspecified Relationship |
CERT Oracle Secure Coding Standard for Java | NUM02-J. Ensure that division and remainder operations do not result in divide-by-zero errors | Prior to 2018-01-12: CERT: Unspecified Relationship |
ISO/IEC TS 17961 | Integer division errors [diverr] | Prior to 2018-01-12: CERT: Unspecified Relationship |
CWE 2.11 | CWE-369, Divide By Zero | 2017-07-07: CERT: Exact |
CERT-CWE Mapping Notes
Key here for mapping notes
...