...
Mixing signals and threads causes undefined behavior 135.
Rule | Severity | Likelihood | Detectable | Remediation CostRepairable | Priority | Level |
|---|---|---|---|---|---|---|
CON37-C | Low | Probable | Yes | LowNo | P6P4 | L2L3 |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Automated Detection
| Tool | Version | Checker | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| stdlib-use-signal | Fully checked | ||||||||||||||||
| CodeSonar |
| BADFUNC.SIGNAL | Use of signal | ||||||||||||||||
| Coverity |
| MISRA C 2012 Rule 21.5 | Over-constraining | ||||||||||||||||
| Cppcheck Premium |
| premium-cert-con37-c | |||||||||||||||||
| Helix QAC |
| C5021 C++5022 | |||||||||||||||||
| Klocwork |
| MISRA.STDLIB.SIGNAL | |||||||||||||||||
| LDRA tool suite |
| 44 S | Enhanced enforcement | ||||||||||||||||
| Parasoft C/C++test |
| CERT_C-CON37-a | The signal handling facilities of <signal.h> shall not be used | ||||||||||||||||
| PC-lint Plus |
| 586 | Fully supported | ||||||||||||||||
| Polyspace Bug Finder |
| CERT C: Rule CON37-C | Checks for signal call in multithreaded program (rule fully covered) | ||||||||||||||||
| RuleChecker |
| stdlib-use-signal | Fully checked | PRQA QA-C | |||||||||||||||
| Include Page | PRQA QA-C_v | PRQA QA-C_v | 5021 | PRQA QA-C++ | |||||||||||||||
| Include Page | cplusplus:PRQA QA-C++_V | cplusplus:PRQA QA-C++_V | 5022
Bibliography
| [IEEE Std 1003.1-2013] | XSH 2.9.1, "Thread Safety" |
...