Смещение от небезопасного источника, и dereference может оказаться вне границ
Этот дефект возникает, когда разыменование указателя использует переменную смещения от неизвестного или небезопасного источника. Чтобы считать все входы за пределами периметра анализа тока небезопасными, используйте -consider-analysis-perimeter-as-trust-boundary
.
Эта проверка фокусируется на динамически выделенных буферах. Для статических смещений буфера смотрите Array access with tainted index
.
Возможно, индекс находится вне допустимой области значений массивов. Если испорченный индекс находится вне области значений массивов, это может вызвать:
Подземный поток буфера/андеррайт или запись в память перед началом буфера.
Переполнение буфера или запись в память после окончания буфера.
Над чтением буфера или доступом к памяти после окончания целевого буфера.
Недостаточное чтение буфера или доступ к памяти перед началом целевого буфера.
Атакующий может использовать недопустимое чтение или запись, чтобы скомпрометировать вашу программу.
Проверьте индекс перед использованием переменной для доступа к указателю. Проверьте, что переменная находится внутри допустимой области значений и не переполнена.
Группа: испорченные данные |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки: TAINTED_PTR_OFFSET |
Влияние: Низкое |
ИДЕНТИФИКАТОР CWE: 122, 124, 129, 823 |
-consider-analysis-perimeter-as-trust-boundary
| Array access with tainted index
| Find defects (-checkers)