Versions Compared

Key

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

...

Attempting to throw exceptions from destructors or deallocation functions can result in undefined behavior, leading to resource leaks or denial-of-service attacks.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

DCL57-CPP

Low

Likely

Medium

P6

L2

Automated Detection

Tool

Version

Checker

Description

LDRA tool suite
Include Page
LDRA_V
LDRA_V

453 S

Partially implemented

PVS-Studio6.22V509General analysis rule

Related Vulnerabilities

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

Related Guidelines

Bibliography

[Henricson 1997]Recommendation 12.5, Do not let destructors called during stack unwinding throw exceptions
[ISO/IEC 14882-2014]

Subclause 3.4.7.2, "Deallocation Functions"
Subclause 15.2, "Constructors and Destructors"
Subclause 15.3, "Handling an Exception"
Subclause 15.4, "Exception Specifications"

[Meyers 2005]Item 8, "Prevent Exceptions from Leaving Destructors"
[Sutter 2000]"Never allow exceptions from escaping destructors or from an overloaded operator delete()" (p. 29)

...


...