Использование буфера от функции fgets-семейства
Использование неопределенной строки происходит, когда вы не проверяете валидность буфера, возвращенного в fgets
- функции семейства. Средство проверки повышает дефект, когда такой буфер используется как:
Аргумент в стандартных функциях, которые распечатывают или управляют строками или широкими строками.
Возвращаемое значение.
Аргумент во внешних функциях параметром вводит const char *
или const wchar_t *
.
Если fgets
- сбои функции семейства, содержимое ее буфера вывода неопределенно. Использование такого буфера имеет неопределенное поведение и может привести к программе, которая прекращает работать или другие уязвимости системы обеспечения безопасности.
Сбросьте буфер вывода fgets
- функция семейства к известному значению строки, когда функция перестала работать.
Группа: Программирование |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки:
INDETERMINATE_STRING
|
Удар: носитель |
Find defects (-checkers)
| Invalid use of standard library string routine
| Returned value of a sensitive function not checked
| Use of dangerous standard function