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