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