Аргумент получен из небезопасного источника и может иметь значение NULL или не заканчиваться NULL
Этот дефект возникает, когда строки из небезопасных источников используются в подпрограммах обработки строк, которые неявно отменяют назначение буфера строк, например, strcpy или sprintf. Чтобы считать все входные данные вне текущего периметра анализа небезопасными, используйте -consider-analysis-perimeter-as-trust-boundary.
Запятнанная нулевая или ненулевая завершенная строка не вызывает дефектов для строки, возвращенной при вызове scanf-семейные вариадные функции. Аналогично, при передаче строки с помощью %s спецификатор для printf-семейные вариадные функции.
Если строка получена из небезопасного источника, возможно, что злоумышленник манипулировал строкой или направил указатель строки в другое место памяти.
Если строка имеет значение NULL, подпрограмма строки не может отменить привязку строки, что приводит к сбою программы. Если строка не оканчивается на NULL, программа строки может не знать, когда она закончится. Эта ошибка может привести к нарушению границ записи, что приведет к переполнению буфера.
Проверьте строку перед ее использованием. Проверьте, что:
Строка не имеет значение NULL.
Строка имеет нулевое окончание
Размер строки соответствует ожидаемому размеру.
| Группа: Запятнанные данные |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки: TAINTED_STRING |
| Воздействие: Низкий |
| CWE ID: 120, 170, 476, 690, 822 |
-consider-analysis-perimeter-as-trust-boundary | Find defects (-checkers) | Tainted string format