Versions Compared

Key

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

...

Tool

Version

Checker

Description

CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

ALLOC.SIZE.TRUNC
LANG.CAST.COERCE
LANG.CAST.VALUE
MISC.MEM.SIZE.TRUNC

Truncation of allocation size
Coercion alters value
Cast alters value
Truncation of size

Compass/ROSE

  

Can detect violations of this rule. However, false warnings may be raised if limits.h is included

Coverity*

Include Page
Coverity_V
Coverity_V

NEGATIVE_RETURNS



REVERSE_NEGATIVE



MISRA_CAST

Can find array accesses, loop bounds, and other expressions that may contain dangerous implied integer conversions that would result in unexpected behavior

Can find instances where a negativity check occurs after the negative value has been used for something else

Can find instances where an integer expression is implicitly converted to a narrower integer type, where the signedness of an integer value is implicitly converted, or where the type of a complex expression is implicitly converted

 Cppcheck 
Include Page
Cppcheck_V
Cppcheck_V
 memsetValueOutOfRangeThe second argument to memset() cannot be represented as unsigned char

Fortify SCA

5.0

 

Can detect violations of this rule with CERT C Rule Pack

Klocwork

Include Page
Klocwork_V
Klocwork_V

PRECISION.LOSS

 

LDRA tool suite

Include Page
LDRA_V
LDRA_V

93 S
, 433 S
, 434 S

Fully Partially implemented
PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v

2850, 2851, 2852, 2853,
2900, 2901, 2902, 2903,
2905, 2906, 2907, 2908,
2855, 2856, 2857, 2858,
2890, 2891, 2892, 2893,
2895, 2896, 2897, 2898

Partially implemented

...