Wiki Markup |
---|
An identifier declared in different scopes or multiple times within the same scope can be made to refer to the same object or function by _linkage_. An identifier can be classified as _externally linked_, _internally linked_, or _not linked_. These three kinds of linkage have the following characteristics \[[Kirch-Prinz 022002|AA. Bibliography#Kirch-Prinz 02]\]: |
...
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
DCL36-C | medium | probable | medium | P8 | L2 |
Automated Detection
The LDRA tool suite Version 7.6.0 can detect violations of this rule.
Splint Version 3.1.1 can detect violations of this rule.
GCC Compiler Version 4.4.0 can detect violations of this rule.
...
Tool | Version | Checker | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
| |||||||||
|
|
|
| |||||||||
|
|
|
| |||||||||
|
|
|
...
|
...
|
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Other Languages
Related Guidelines
This rule appears in the C++ Secure Coding Standard as : DCL36-CPP. Do not declare an identifier with conflicting linkage classifications.
Bibliography
Wiki Markup |
---|
\[[Banahan 032003|AA. Bibliography#Banahan 03]\] [Section 8.2, "Declarations, Definitions and Accessibility"|http://publications.gbdirect.co.uk/c_book/chapter8/declarations_and_definitions.html] \[[ISO/IEC 9899:1999|AA. Bibliography#ISO/IEC 9899-1999]\] Section 6.2.2, "Linkages of identifiers" \[[Kirch-Prinz 022002|AA. Bibliography#Kirch-Prinz 02]\] \[[MISRA 042004|AA. Bibliography#MISRA 04]\] Rule 8.1 |
...