A signal handler should not reassert its desire to handle its own signal. This is often done on nonpersistent platforms; that is, platforms that, upon receiving a signal, reset the disposition for the signal to default before calling the bound signal handler. See SIG01-C. Understand implementation-specific details regarding signal handler persistence.
A signal handler may call signal()
only if it does not need to be asynchronous-safe. (In other words, all relevant signals are masked, so that the handler cannot be interrupted.)
...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Compass/ROSE | Can detect violations of this rule. However, false positives may occur on systems with persistent handlers. | ||||||||
PRQA QA-C |
| Warncall -wc signal | Partially implemented |
Related Vulnerabilities
...