
Comparing a function pointer to a value that is not a null function pointer of the same type will be diagnosed because it typically indicates programmer error and can result in unexpected behavior. Implicit comparisons will be diagnosed, as well.
...
Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
EXP16-C | Low | Likely | Medium | P6 | L2 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| function-name-constant-comparison | Partially checked | ||||||
| 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 | |||||||
Helix QAC |
| C0428, C3004, C3344 | |||||||
Klocwork |
| CWARN.NULLCHECK.FUNCNAME | |||||||
LDRA tool suite |
| 99 S | Partially implemented | ||||||
Parasoft C/C++test |
| CERT_C-EXP16-a | Function address should not be compared to zero | ||||||
PC-lint Plus |
| 2440, 2441 | Partially supported: reports address of function, array, or variable directly or indirectly compared to null | ||||||
PVS-Studio |
| V516, V1058 | |||||||
RuleChecker |
| function-name-constant-comparison | Partially checked |
...