Индекс массива из небезопасного источника, возможно, вне границ массива
Этот дефект возникает при доступе к массиву с помощью индекса, полученного из небезопасных источников и не проверенного. Чтобы считать все входные данные вне текущего периметра анализа небезопасными, используйте -consider-analysis-perimeter-as-trust-boundary.
Возможно, индекс находится за пределами допустимого диапазона массива. Если запятнанный индекс находится вне диапазона массива, это может привести к следующему:
Underflow/underbrite буфера - запись в память перед началом буфера.
Переполнение буфера - запись в память после окончания буфера.
Перечитывание буфера - доступ к памяти после окончания целевого буфера.
Недостаточное чтение буфера или доступ к памяти перед началом целевого буфера.
Злоумышленник может использовать недопустимую операцию чтения или записи, созданную для устранения проблем в программе.
Прежде чем использовать индекс для доступа к массиву, проверьте значение индекса, чтобы убедиться, что он находится внутри диапазона массива.
| Группа: Запятнанные данные |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки: TAINTED_ARRAY_INDEX |
| Воздействие: среднее |
| CWE ID: 121, 124, 125, 129 |
-consider-analysis-perimeter-as-trust-boundary | Find defects (-checkers) | Loop bounded with tainted value | Pointer dereference with tainted offset | Tainted size of variable length array