Переменная, не инициализированная перед использованием
Неинициализированная переменная происходит, когда переменная не инициализируется, прежде чем ее значение читается.
Если переменная явным образом не инициализируется, значение переменных непредсказуемо. Вы не можете полагаться на переменную, имеющую определенное значение.
Фиксация зависит от первопричины дефекта. Например, вы присвоили значение переменной, но присвоение недостижимо, или вы присвоили значение переменной в одном из двух ответвлений условного оператора. Зафиксируйте недостижимый код или недостающее присвоение.
Часто детали результата показывают последовательность событий, которые привели к дефекту. Можно реализовать закрепление на любом событии в последовательности. Если детали результата не показывают историю события, можно проследить использование, щелкните правой кнопкой по опциям по исходному коду и смотрите предыдущие связанные события. См. также Интерпретируют Результаты Polyspace Bug Finder.
Смотрите примеры мер ниже. Это - хорошая практика, чтобы инициализировать переменную в объявлении.
Если вы не хотите устранять проблему, добавьте комментарии в свой результат или код, чтобы избежать другого анализа. Смотрите Результаты Polyspace Адреса Через Исправления ошибок или Комментарии.
Группа: Поток данных |
Язык: C | C++ |
Значение по умолчанию: на |
Синтаксис командной строки: NON_INIT_VAR |
Влияние: высоко |
ID CWE: 456, 457, 908 |