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