Versions Compared

Key

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

...

Failing to meet the required behavior for a replacement handler results in undefined behavior.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

OOP56-CPP

Low

Probable

High

P2

L3

Automated Detection

Tool

Version

Checker

Description

   
Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

DF4776, DF4777, DF4778, DF4779


Parasoft C/C++test

Include Page
Parasoft_V
Parasoft_V

CERT_CPP-OOP56-a
CERT_CPP-OOP56-b
CERT_CPP-OOP56-c

Properly define terminate handlers
Properly define unexpected handlers
Properly define new handlers

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C++: OOP56-CPP

Checks for replacement handler function that does not meet requirements (rule fully covered)

 

Related Vulnerabilities

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

Related Guidelines

Bibliography

[ISO/IEC 14882-2014]Subclause 17.6.4.8, "Other Functions"
Subclause 18.6.2.3, "Type new_handler
Subclause 18.8.3.1, "Type terminate_handler"
Subclause D.11.1, "Type unexpected_handler"
 
 


...