Неопределенное поведение при обычном возвращении обработчика сигнала из ошибки программы
Этот дефект возникает, когда обработчик сигнала возвращается после захвата сигнала вычислительного исключения SIGFPE, SIGILL, или SIGSEGV.
Обработчик сигнала, который обычно возвращается из вычислительного исключения, является неопределенным поведением. Даже если обработчик пытается исправить ошибку, которая вызвала сигнал, программа может вести себя неожиданно.
Проверьте достоверность значений переменных перед вычислением, чтобы избежать использования обработчика сигналов для обнаружения исключений. Если не удается избежать использования обработчика для захвата сигналов исключений вычислений, вызовите abort(), quick_exit(), или _Exit() в обработчике для остановки программы.
| Группа: Программирование |
| Язык: C | C++ |
| По умолчанию: Вкл для рукописного кода, выкл для сгенерированного кода |
Синтаксис командной строки:
SIG_HANDLER_COMP_EXCP_RETURN
|
| Воздействие: Низкий |
| ИДЕНТИФИКАТОР CWE : 387 |
Find defects (-checkers) | Function called from signal handler not asynchronous-safe | Function called from signal handler not asynchronous-safe (strict) | Signal call from within signal handler