Versions Compared

Key

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

...

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V
Supported, but no explicit checkerpointer-cast-alignmentFully checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-EXP36
Compass/ROSE

Can detect violations of this rule. However, it does not flag explicit casts to void * and then back to another pointer type

Coverity
Include Page
Coverity_V
Coverity_V

MISRA C 2004 Rule 11.4

MISRA C 2012 Rule 11.1

MISRA C 2012 Rule 11.2

MISRA C 2012 Rule 11.5

MISRA C 2012 Rule 11.7

Implemented

ECLAIR

Include Page
ECLAIR_V
ECLAIR_V

CC2.EXP36

Fully implemented
EDG


GCC
Include Page
GCC_V
GCC_V

Can detect some violations of this rule when the -Wcast-align flag is used

Klocwork
 
Include Page
Klocwork_V
Klocwork_V

MISRA.CAST.PTR.UNRELATED
MISRA.CAST.PTR_TO_INT
PORTING.CAST.PTR.FLTPNT

PORTING.CAST.PTR
PORTING.CAST.PTR.SIZE
PORTING.CAST.SIZE


LDRA tool suite
Include Page
LDRA_V
LDRA_V

94 S, 606 S

Partially implemented
Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_C-EXP36-a

A cast should not be performed between a pointer to object type and a different pointer to object type

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

Unreliable cast of pointer

Wrong allocated object size for cast

MISRA C:2012 Rule 11.1

MISRA C:2012 Rule 11.2

MISRA C:2012 Rule 11.3

MISRA C:2012 Rule 11.5

MISRA C:2012 Rule 11.7

Pointer implicitly cast to different data type

Allocated memory does not match destination pointer

Conversions shall not be performed between a pointer to a function and any other type

Conversions shall not be performed between a pointer to an incomplete type and any other type

A cast shall not be performed between a pointer to object type and a pointer to a different object type

A conversion should not be performed from pointer to void into pointer to object

A cast shall not be performed between pointer to object and a non-integer arithmetic type


PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v
3305Fully implemented
PRQA QA-C++
Include Page
cplusplus:PRQA QA-C++_V
cplusplus:PRQA QA-C++_V

3033, 3038


PVS-Studio

Include Page
PVS-Studio_V
PVS-Studio_V

V548, V641
RuleChecker

Include Page
RuleChecker_V
RuleChecker_V

pointer-cast-alignmentFully checked

Related Vulnerabilities

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

...