Versions Compared

Key

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

...

Tool

Version

Checker

Description

Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-EXP47



Clang
Include Page
Clang_V
Clang_V
-WvarargsCan detect some instances of this rule, such as promotable types.
Cannot detect mismatched types or incorrect number of variadic arguments.



CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
BADMACRO.STDARG_HUse of <stdarg.h> feature


Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C4901, C4902, C4903, C4904

C++4901, C++4902, C++4903, C++4904





Klocwork

Include Page
Klocwork_V
Klocwork_V

CERT.VA_ARG.TYPE





LDRA tool suite
Include Page
LDRA_V
LDRA_V

44 S

Enhanced Enforcement




Parasoft C/C++test

Include Page
Parasoft_V
Parasoft_V

CERT_C-EXP47-aDo not call va_arg with an argument of the incorrect type


PC-lint Plus

Include Page
PC-lint Plus_V
PC-lint Plus_V

917

Assistance provided: reports argument promotion to match prototype




Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C: Rule EXP47-C


Checks for:

  • Incorrect data type passed to va_arg
  • Too many va_arg calls for current argument list

Rule fully covered




TrustInSoft Analyzer

Include Page
TrustInSoft Analyzer_V
TrustInSoft Analyzer_V

unclassified (variadic)

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




...