Смещение от небезопасного источника, и 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)