Division and modulo operations are susceptible to divide-by-zero errors.
The C Standard identifies two conditions under which division and modulo operations result in undefined behavior:
...
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
INT33-C | lowLow | likelyLikely | mediumMedium | P6 | L2 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
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 | 6.5 | DIVIDE_BY_ZERO | Fully Implemented | ||||||
Fortify SCA | 5.0 | Can detect violations of this rule with CERT C Rule Pack | |||||||
| 43 D | Partially implemented | |||||||
PRQA QA-C |
| 2830 (C) | Fully implemented |
...