...
Mismatched language linkage specifications generally do not create exploitable security vulnerabilities between the C and C++ language linkages. However, other language linkages exist where the undefined behavior is more likely to result in abnormal program execution, including exploitable vulnerabilities.
Rule | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
EXP56-CPP | Low | Unlikely | No | YesMedium | P2 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Helix QAC |
| C++3033, C++3038 | |||||||
| Klocwork |
| PORTING.CAST.PTR |
PORTING.CAST.PTR |
PORTING
| . |
| FLTPNT PORTING.CAST.PTR |
PORTING.CAST
| .SIZE MISRA.CAST.PTR.UNRELATED MISRA.CAST.PTR_TO_INT | |||||||||
| Parasoft C/C++test |
| CERT_CPP-EXP56-a | Do not call a function with a mismatched language linkage |
| Polyspace Bug Finder |
|
| Checks for language linkage mismatch between called function type and function definition (rule fully covered) |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Bibliography
| [ISO/IEC 14882-2014] | Subclause 5.2.2, "Function Call" Subclause 7.5, "Linkage Specifications" |
...