...
Failing to declare an unchanging value const
prohibits the function from working with values already cast as const
. This problem can be sidestepped by type casting away the const
, but doing so violates EXP05-C. Do not cast away a const qualification.
Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
DCL13-C | Low | Unlikely | Low | P3 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| parameter-missing-const | Fully checked | ||||||
Compass/ROSE |
Can detect violations of this recommendation while checking for violations of recommendation DCL00-C. Const-qualify immutable objects | |||||||||
| CC2.DCL13 | Fully implemented | |||||||
Klocwork |
| MISRA.PPARAM.NEEDS.CONST |
LDRA tool suite |
| 120 D | Fully implemented | ||||||
Parasoft C/C++test |
|
|
|
MISRA2004-16_7 | Fully implemented | ||||||||
PRQA QA-C |
| 3673 | Fully implemented | ||||||
RuleChecker |
| parameter-missing-const | Fully checked |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
SEI CERT C++ Coding Standard | VOID DCL13-CPP. Declare function parameters that are pointers to values not changed by the function as const |
ISO/IEC TR 24772:2013 | Passing Parameters and Return Values [CSJ] |
MISRA C:2012 | Rule 8.13 (advisory) |
...
...