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