Versions Compared

Key

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

...

Understanding how to represent characters and character strings can eliminate many common programming errors that lead to software vulnerabilities.

Recommendation

Severity

Likelihood

Remediation Cost

Detectable

Repairable

Priority

Level

STR00-C

Medium

Probable

No

Low

No

P12

P4

L1

L3

Automated Detection

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V
 Supported, but no explicit checker

Supported indirectly via MISRA C:2004 rule 6.1 and MISRA C:2012 rule 10.1.
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
MISC.NEGCHARNegative Character Value
Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C0634, C0635, C1292, C1293, C1810, C1811, C1812, C1813, C1814, C2151, C4010, C4011, C4063, C4064, C4065, C4310, C4312, C4315, C4401, C4410, C4412, C4413, C4414, C4415, C4421, C4431, C4441, C4451, C4510, C4511, C4512, C4513, C4514, C4517, C4518, C4519, C4580, C4581, C4582, C4583, C4584, C4585, C4586

DF2806, DF2807, DF2808, DF2816, DF2817, DF2818

 


LDRA tool suite
Include Page
LDRA_V
LDRA_V
329 S, 432 SFully implemented
Parasoft C/C++test
9.5MISRA2004-6_1
Include Page
Parasoft_V
Parasoft_V
CERT_C-STR00-a

The plain char type shall be used only for the storage and use of character values

Fully implementedSupported, but no explicit checker

RuleChecker
Include Page
RuleChecker_V
RuleChecker_V
 

Supported indirectly via MISRA C:2004 rule 6.1 and MISRA C:2012 rule 10.1.
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S810
 

Related Vulnerabilities

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

Related Guidelines

Bibliography

[ISO/IEC 9899:2011]Subclause 6.2.6, "Representations of Types"
[Seacord 2013]Chapter 2, "Strings"

...


...

Image Modified Image Modified Image Modified