The C Standard identifies the following condition under which division and remainder operations result in undefined behavior (UB):
...
A divide-by-zero error can result in abnormal program termination and denial of service.
Rule | Severity | Likelihood | Detectable | Remediation CostRepairable | Priority | Level |
|---|---|---|---|---|---|---|
INT33-C | Low | Likely | No | MediumYes | P6 | L2 |
Automated Detection
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 | ||||||||||||||||
| Cppcheck Premium |
| zerodiv premium-cert-int33-c | ||||||||||||||||
| Helix QAC |
| C2830 C++2830 DF2831, DF2832, DF2833Context sensitive analysis of division by zero | ||||||||||||||||
| Klocwork |
| DBZ.CONST | ||||||||||||||||
| LDRA tool suite |
| 43 D, 127 D, 248 S, 629 S, 80 X | Partially implemented | |||||||||||||||
| Parasoft C/C++test |
| CERT_C-INT33-a | Avoid division by zero | |||||||||||||||
| Parasoft Insure++ | Runtime analysis | |||||||||||||||||
| Polyspace Bug Finder |
| Checks for:
Rule fully covered. | PRQA QA-C||||||||||||||||
| Security Reviewer - Static Reviewer |
| CPP_02 | Fully implemented | |||||||||||||||
| PRQA QA-C_v | PRQA QA-C_v | 2830 [C], 2831 [D], 2832 [A] 2833 [S] | Fully implemented | PRQA QA-C++ | ||||||||||||||
| Include Page | cplusplus:PRQA QA-C++_V | cplusplus:PRQA QA-C++_V | 2831, 2832, 2833 | SonarQube C/C++ Plugin |
| S3518 | ||||||||||||
| PVS-Studio |
| V609 | ||||||||||||||||
| TrustInSoft Analyzer |
| division_by_zero | Exhaustively verified (see one compliant and one non-compliant example). | Helix QAC | ||||||||||||||
| Include Page | Helix QAC_V | Helix QAC_V |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...