...
Two signals in quick succession can trigger a race condition on nonpersistent platforms, causing the signal's default behavior despite a handler's attempt to override it.
Rule | Severity | Likelihood |
|---|
Detectable | Repairable | Priority | Level |
|---|---|---|---|
SIG34-C | Low | Unlikely |
Yes | No |
P2 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| signal-handler-signal-call | Partially checked | ||||||
| Axivion Bauhaus Suite |
|
| CertC-SIG34 | ||||||||
| CodeSonar |
| BADFUNC.SIGNAL | Use of signal | ||||||
| Compass/ROSE |
| Can detect violations of this rule. However, false positives may occur on systems with persistent handlers | |||||||||
| Cppcheck Premium |
| premium-cert-sig34-c | |||||||
| Helix QAC |
| C5021 C++5022 | |||||||
| Klocwork |
| MISRA.STDLIB.SIGNAL | |||||||
| LDRA tool suite |
| 97 D | Fully implemented | ||||||
| Parasoft C/C++test |
| CERT_C-SIG34-a | Properly define signal handlers | |||||||
| PC-lint Plus |
| 2762, 2763 | Fully supported | ||||||
| CERT C: Rule SIG34-C | Checks for signal call from within signal handler (rule partially covered) |
| RuleChecker |
|
| signal-handler-signal-call | Partially checked |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
Key here (explains table format and definitions)
Taxonomy | Taxonomy item | Relationship |
|---|---|---|
| CERT C Secure Coding Standard | SIG01-C. Understand implementation-specific details regarding signal handler persistence | Prior to 2018-01-12: CERT: Unspecified Relationship |
| ISO/IEC TS 17961:2013 | Calling signal from interruptible signal handlers [sigcall] |
...
| Prior to 2018-01-12: CERT: Unspecified Relationship |
...