Арифметическая операция, выполненная на NULL
указатель
Этот дефект возникает, когда арифметическая операция включает указатель, значение которого NULL
.
Выполнение арифметики указателя на пустом указателе и разыменование результирующего указателя является неопределенным поведением. В большинстве реализаций dereference может привести к аварийному завершению работы вашей программы.
Проверьте указатель на NULL
перед арифметическими операциями над указателем.
Если проблема возникает, несмотря на более раннюю проверку на NULL
, искать промежуточные события между проверкой и последующим разыменованием. Часто детали результата показывают последовательность событий, которые привели к дефекту. Вы можете реализовать исправление на любом событии в последовательности. Если сведения о результате не отображают историю событий, можно отследить их с помощью опций правого щелчка в исходном коде и просмотреть предыдущие связанные события. Смотрите также Результаты интерпретации Bug Finder в интерфейсе пользователя Polyspace Desktop.
См. примеры исправлений ниже.
Группа: Статическая память |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки: NULL_PTR_ARITH |
Влияние: Низкое |