Размер массива переменной длины равен нулю или отрицателен
Этот дефект возникает, когда размер массива переменной длины равен нулю или отрицателен.
Если размер массива переменной длины равен нулю или отрицателен, может возникнуть непредвиденное поведение, например переполнение стека.
При объявлении массива переменной длины как локальной переменной в функции:
Если в качестве размера массива используется параметр функции, проверьте, что параметр является положительным.
Если в качестве размера массива используется результат вычисления для параметра функции, проверьте, что результат положительный.
Проверить положительное значение можно перед вызовом функции или объявлением массива в теле функции.
| Группа: Программирование |
| Язык: C | C++ |
| По умолчанию: Вкл для рукописного кода, выкл для сгенерированного кода |
Синтаксис командной строки: NON_POSITIVE_VLA_SIZE |
| Воздействие: Высокое |
| ИДЕНТИФИКАТОР CWE: 687 |