Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...

Partially implemented

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

bitfield-name
character-constantenum-tag-spelling
enumeration-constant-name
function-like-macro-name
global-function-name
global-object-name
global-object-name-const
header-filename
implementation-filename
local-object-name
local-object-name-const
local-static-object-name
local-static-object-name-const
object-like-macro-name
static-function-name
static-object-name
static-object-name-const
string-literal
struct-member-name
struct-tag-spelling
typedef-name
union-member-name
union-tag-spelling

Partially checked
Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C0285, C0286, C0287, C0288, C0289, C0299


LDRA tool suite
Include Page
LDRA_V
LDRA_V

113 S

Partially implemented
Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_C-MSC09-a
Only use characters defined in the ISO C standardPRQA QA-C
Include Page
PRQA QA-C_vPRQA QA-C_v

0285, 0286, 0287

0288, 0289, 0299

RuleChecker
Include Page
RuleChecker_V
RuleChecker_V

bitfield-name
character-constantenum-tag-spelling
enumeration-constant-name
function-like-macro-name
global-function-name
global-object-name
global-object-name-const
header-filename
implementation-filename
local-object-name
local-object-name-const
local-static-object-name
local-static-object-name-const
object-like-macro-name
static-function-name
static-object-name
static-object-name-const
string-literal
struct-member-name
struct-tag-spelling
typedef-name
union-member-name
union-tag-spelling

Partially checked
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S1578

Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

...