...
Nonunique identifiers can lead to abnormal program termination, denial-of-service attacks, or unintended information disclosure.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
DCL23-C | Medium | Unlikely | Low | P6 | L2 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| Supported indirectly via MISRA C:2012 Rules 5.1, 5.2, 5.3, 5.4 and 5.5. | |||||||
Axivion Bauhaus Suite |
| CertC-DCL23 | |||||||
CodeSonar |
| LANG.ID.ND.EXT LANG.ID.NU.EXT LANG.STRUCT.DECL.MGT | Non-distinct identifiers: external names Non-unique identifiers: external name Global variable declared with different types | ||||||
Compass/ROSE |
Can detect some violations of this rule but cannot flag violations involving universal names | |||||||||
Helix QAC |
| C0627, C0776, C0777, C0778, C0779, C0789, C0791, C0793 | |||||||
Klocwork |
| MISRA.IDENT.DISTINCT.C99.2012 | |||||||
LDRA tool suite |
| 17 D | Fully implemented |
PC- |
lint Plus |
|
627, 776, 0777, 778, 0779
| 621 | Fully supported | |||||||
Polyspace Bug Finder |
| Checks for:
Rec. fully covered. | |||||||
RuleChecker |
| Supported indirectly via MISRA C:2012 Rules 5.1, 5.2, 5.3, 5.4 and 5.5. | |||||||
SonarQube C/C++ Plugin |
| IdentifierLongerThan31 |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
ISO/IEC TR 24772:2013 | Choice of Clear Names [NAI] Identifier Name Reuse [YOW] |
MISRA C:2012 | Rule 5.1 (required) |
Bibliography
[ISO/IEC 9899:2011] | Subclause 6.2.7, "Compatible Type and Composite Type" |
...
...