Выйдите функция-обработчик прерывает нормальное осуществление программы
Аварийное завершение выходного обработчика ищет зарегистрированные выходные обработчики. Выйдите обработчики указаны с определенными функциями, такими как atexit
, (WinAPI) _onexit
, или at_quick_exit()
. Если выходной обработчик вызывает функцию, которая прерывает ожидаемую последовательность завершения программы, Polyspace повышает дефект. Некоторыми функциями, которые могут вызвать аварийные выходы, является exit
, abort
, longjmp
, или (WinAPI) _onexit
.
Если ваш выходной обработчик отключает вашу программу, у вас может быть неопределенное поведение. Аварийное завершение программы означает, что другие выходные обработчики не вызываются. Эти дополнительные выходные обработчики могут сделать дополнительную уборку или другие необходимые шаги завершения.
Во внутренних выходных обработчиках удалите вызовы функций, которые препятствуют тому, чтобы выходной обработчик обычно завершал работу.
Группа: Программирование |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки: EXIT_ABNORMAL_HANDLER |
Удар: носитель |
ID CWE: 705 |