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

memcpy-with-paddingPartially checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-EXP42
LDRA tool suite
Include Page
LDRA_V
LDRA_V
618 SPartially implemented
Cppcheck
Include Page
Cppcheck_V
Cppcheck_V
cert.py

Detected by the addon cert.py

Does not warn about global/static padding data as this is probably initialized to 0

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_C-EXP42-a

Don't memcpy or memcmp non-PODs

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

Memory comparison of padding data

MISRA CERT C: 2012 Rule 21.16Rule EXP42-C


Checks for memory comparison of padding data (rule fully covered)

memcmp compares data stored in structure padding

The pointer arguments to the Standard Library function memcmp shall point to either a pointer type, an essentially signed type, an essentially unsigned type, an essentially Boolean type or an essentially enum type

PRQA QA-C

Include Page
PRQA QA-C_v
PRQA QA-C_v

1488
RuleChecker

Include Page
RuleChecker_V
RuleChecker_V

memcpy-with-paddingPartially checked
TrustInSoft Analyzer

Include Page
TrustInSoft Analyzer_V
TrustInSoft Analyzer_V

comparable_char_blocks

Exhaustively verified (see the compliant and the non-compliant example).

...