Функция обработчика выхода прерывает нормальное выполнение программы
Этот дефект возникает, когда обработчик выхода сам вызывает другую функцию, которая прерывает ожидаемую последовательность завершения программы и вызывает ненормальный выход.
Обработчики выхода - это функции, предназначенные для выполнения при завершении программы. Эти функции сначала регистрируются со специфическими функциями, такими как atexit, (WinAPI) _onexit, или at_quick_exit().
Некоторые функции, которые могут вызвать аномальные выходы: exit, abort, longjmp, или (WinAPI) _onexit.
Если обработчик выхода завершает программу, поведение может быть неопределенным. Ненормальное завершение программы означает, что другие обработчики выхода не вызываются. Эти дополнительные обработчики выхода могут выполнять дополнительную очистку или другие необходимые шаги завершения.
В обработчиках выхода удалите вызовы функций, которые препятствуют нормальному завершению обработчика выхода.
| Группа: Программирование |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки: EXIT_ABNORMAL_HANDLER |
| Воздействие: среднее |
| ИДЕНТИФИКАТОР CWE: 705 |