...
There are several national variants of ASCII. As a result, the original ASCII is often called US-ASCII. ISO/IEC 646-1991 defines a character set, similar to US-ASCII, but with code positions corresponding to US-ASCII characters @[]{|} as national use positions [ISO/IEC 646-1991]. It also gives some liberties with the characters #$^`~. In particular characters (e.g., #$^`~). In ISO/IEC 646-1991, several national variants of ASCII are defined, assigning different letters and symbols to the national use positions. Consequently, the characters that appear in those positions, including those in US-ASCII, are less portable in international data transfer. Because of the national variants, some characters are less portable than others: they might be transferred or interpreted incorrectly.
...
Recommendation | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
MSC09-C | Medium | Unlikely | Yes | MediumNo | P4 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| bitfield-name | Partially checked | ||||||||||||
| Helix QAC |
| C0285, C0286, C0287, C0288, C0289, C0299 | |||||||||||||
| LDRA tool suite |
| 113 S | Partially implemented | ||||||||||||
| Parasoft C/C++test |
| CERT_C-MSC09-a | Only use characters defined in the ISO C standard | PRQA QA-C | |||||||||||
| Include Page | PRQA QA-C_v | PRQA QA-C_v | 0285, 0286, 0287 0288, 0289, 0299 | ||||||||||||
| RuleChecker |
| bitfield-name | Partially checked | Partially implemented||||||||||||
| SonarQube C/C++ Plugin |
| S1578 | Helix QAC | ||||||||||||
| Include Page | Helix QAC_V | Helix QAC_V
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...