...
Errors of omission can result in unintended program flow.
Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
EXP16-C | Low | Likely | Medium | P6 | L2 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
| BAD_COMPARE | Can detect the specific instance where the address of a function is compared against 0, such as in the case of | |||||||
GCC |
|
Can detect violations of this recommendation when the | ||||||||
Klocwork |
|
LDRA tool suite |
| 99 S | Partially implemented | ||||||
Parasoft C/C++test |
|
|
| BD-PB-CC | Stricter checking than the definition here. | ||||||
PRQA QA-C |
| 3004, 3344, 428 |
PVS-Studio | 6.22 | V516 | General analysis rule |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
SEI CERT C++ Coding Standard | VOID EXP16-CPP. Avoid conversions using void pointers |
ISO/IEC TR 24772:2013 | Likely incorrect expressions [KOA] |
ISO/IEC TS 17961 | Comparing function addresses to zero [funcaddr] |
MITRE CWE | CWE-480, Use of incorrect operator CWE-482, Comparing instead of assigning |
Bibliography
[Hatton 1995] | Section 2.7.2, "Errors of Omission and Addition" |
...
...