...
Unsafe use of abort()
may leave files written in an inconsistent state. It may also leave sensitive temporary files on the file system.
Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
ERR06-C | Medium | Unlikely | Medium | P4 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| bad-function bad-macro-use | Supported | ||||||
Compass/ROSE |
Can detect some violations of this rule. However, it can only detect violations involving | |||||||||
LDRA tool suite |
| 44 S | Enhanced enforcement | ||||||
Parasoft C/C++test |
| CERT_C-ERR06-a | Do not use assertions | ||||||
PC-lint Plus |
| 586 | Fully supported | ||||||
PVS-Studio |
| ||||||||
RuleChecker |
| bad-function bad-macro-use | Supported |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
SEI CERT C++ Coding Standard | VOID ERR06-CPP. Understand the termination behavior of assert() and abort() |
ISO/IEC TR 24772:2013 | Termination Strategy [REU] |
Bibliography
[ISO/IEC 9899:2011] | Subclause 7.2.1.1, "The assert Macro" |
...
...