Указатель, не инициализированный прежде, разыменовывает
Этот дефект происходит, когда указатель не присвоен, адрес прежде разыменовывает.
Если указатель явным образом не присвоен адрес, он указывает на непредсказуемое местоположение.
Фиксация зависит от первопричины дефекта. Например, вы присвоили адрес указателю, но присвоение недостижимо.
Часто детали результата (или подсказки исходного кода в Polyspace, когда Вы Кодируете) показывают последовательность событий, которые привели к дефекту. Можно реализовать закрепление на любом событии в последовательности. Если детали результата не показывают эту историю события, можно искать предыдущие ссылки переменных, относящихся к дефектному использованию, щелкают правой кнопкой по опциям по исходному коду и находят связанные события. См. также Интерпретируют Результаты Bug Finder в Пользовательском интерфейсе Рабочего стола Polyspace или Интерпретируют Результаты Bug Finder в Polyspace доступ к веб-интерфейсу.
Смотрите примеры мер ниже. Это - хорошая практика, чтобы инициализировать указатель на NULL при объявлении указателя.
Если вы не хотите устранять проблему, добавьте комментарии в свой результат или код, чтобы избежать другого анализа. См.:
Обратитесь к Результатам Polyspace Через Исправления ошибок или Выравнивания, если вы рассматриваете результаты в пользовательском интерфейсе Polyspace.
Обратитесь к Результатам в Polyspace доступ Через Исправления ошибок или Выравнивания, если вы рассматриваете результаты в веб-браузере.
Аннотируйте Код и Скройте Известные или Приемлемые результаты, если вы рассматриваете результаты в IDE.
Группа: Поток данных |
Язык: C | C++ |
Значение по умолчанию: On |
Синтаксис командной строки: NON_INIT_PTR |
Удар: высоко |
ID CWE: 456, 457, 824, 908 |
Find defects (-checkers)
| Non-initialized variable