Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: REM Cost Reform

...

Throwing an exception that cannot be caught results in abnormal program termination and can lead to denial-of-service attacks.

Rule

Severity

LikelihoodRemediation Cost

Detectable

Repairable

Priority

Level

ERR58-CPP

Low

Likely

No

YesLow

P9P6

L2

Automated Detection

Tool

Version

Checker

Description

Astrée

Include Page
Astrée_V
Astrée_V

potentially-throwing-static-initialization
Partially checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC++-ERR58
Clang
Include Page
Clang_38_V
Clang_38_V
cert-err58-cppChecked by clang-tidy
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

LANG.STRUCT.EXCP.THROW

Use of throw

Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C++4634, C++4636, C++4637, C++4639


Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_CPP-ERR58-a

Exceptions shall be raised only after start-up and before termination of the program

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C++: ERR58-CPPChecks for exceptions raised during program startup (rule fully covered)
RuleChecker
Include Page
RuleChecker_V
RuleChecker_V
potentially-throwing-static-initialization
Partially checked

...