Аргумент из небезопасного источника и может быть NULL или не ОТКЛЮЧЕННЫЙ ПУСТЫМ УКАЗАТЕЛЕМ
Этот дефект происходит, когда строки из незащищенных источников используются в стандартных программах обработки строк, которые неявно разыменовывают буфер строки, например, strcpy
или sprintf
.
Испорченный NULL или не пустая отключенная строка не повышает дефекта для строки, возвращенной от вызова до scanf
- семейство variadic функции. Точно так же никакой дефект не повышен, когда вы передаете строку с %s
спецификатор к printf
- семейство variadic функции.
Если вы ссылаетесь на строку с помощью формы ptr[i]
, *ptr
, или адресная арифметика с указателями, Средство поиска Ошибки повышает Использование испорченного дефекта указателя вместо этого. Испорченный NULL или не пустой отключенный дефект строки повышен только, когда указатель используется в качестве строки.
Если строка из небезопасного источника, возможно, что атакующий управлял строкой или указал указатель строки на различную ячейку памяти.
Если строкой является NULL, стандартная программа строки не может разыменовать строку, заставив программу отказать. Если строка не отключена пустым указателем, строка, которую знает стандартная сила не, когда строка заканчивается. Эта ошибка может заставить вас писать за пределы, вызвав переполнение буфера.
Подтвердите строку, прежде чем вы будете использовать ее. Проверяйте что:
Строка не является ПУСТОЙ.
Строка отключена пустым указателем
Размер строки совпадает с ожидаемым размером.
Группа: испорченные данные |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки: TAINTED_STRING |
Удар: низко |
ID CWE: 120, 170, 476, 690, 822 |