...
Deadlock prevents multiple threads from progressing, halting program execution. A denial-of-service attack is possible if the attacker can create the conditions for deadlock.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
CON53-CPP | Low | Probable | Medium | P4 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
CodeSonar |
| CONCURRENCY.LOCK.ORDER | Conflicting lock order | ||||||
Coverity | 6.5 | DEADLOCK | Fully implemented | ||||||
Helix QAC |
| C++1772, C++1773 | |||||||
Parasoft C/C++test |
|
|
|
CERT_CPP-CON53-a | Do not acquire locks in different order | ||||||||
Polyspace Bug Finder |
| CERT C++: CON53-CPP | Checks for deadlocks |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
CERT Oracle Secure Coding Standard for Java | LCK07-J. Avoid deadlock by requesting and releasing locks in the same order |
MITRE CWE | CWE-764, Multiple Locks of a Critical Resource |
Bibliography
[ISO/IEC 14882-2014] | Subclause 30.4, "Mutual Exclusion" |