Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

SIG31-C-EX1:  The C Standard, 7.14.1.1 paragraph 5 [ISO/IEC 9899:2011], makes a special exception for errno when a valid call to the signal() function results in a SIG_ERR return, allowing errno to take an indeterminate value (see ERR32-C. Do not rely on indeterminate values of errno).

Risk Assessment

Accessing or modifying shared objects in signal handlers can result in accessing data in an inconsistent state. Michal Zalewski's paper "Delivering Signals for Fun and Profit" [Zalewski 2001] provides some examples of vulnerabilities that can result from violating this and other signal-handling rules.

...

[C99 Rationale 2003]5.2.3, "Signals and Interrupts"
[ISO/IEC 9899:2011]Subclause 7.14.1.1, "The signal Function"
[Zalewski 2001] 

...