
...
Failure to enclose calls to the cnd_wait()
or cnd_timedwait()
functions inside a while
loop can lead to indefinite blocking and denial of service (DoS).
Rule | Severity | LikelihoodRemediation Cost | Detectable | Repairable | Priority | Level |
---|---|---|---|---|---|---|
CON36-C | Low | Unlikely | Yes | NoMedium | P2 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
CodeSonar |
| LANG.STRUCT.ICOL | Inappropriate Call Outside Loop | ||||||
Cppcheck Premium |
| premium-cert-con36-c | |||||||
Helix QAC |
| C2027 | |||||||
Klocwork |
| CERT.CONC.WAKE_IN_LOOP_C | |||||||
Parasoft C/C++test |
| CERT_C-CON36-a | Wrap functions that can spuriously wake up in a loop | ||||||
Polyspace Bug Finder |
| CERT C: Rule CON36-C | Checks for situations where functions that can spuriously wake up are not wrapped in loop (rule fully covered) |
...