errno не сброс прежде, чем вызвать функцию, которая устанавливает errno
Этот дефект происходит, когда вы не сбрасываете errno прежде, чем вызвать функцию, которая устанавливает errno указать на состояние ошибки. Однако вы проверяете errno для того состояния ошибки после вызова функции.
errno не является чистым и может содержать значения от предыдущего вызова. Проверка errno поскольку ошибки могут произвести ложное впечатление, что ошибка произошла.
errno обнуляется при запуске программы, но впоследствии, errno не сбрасывается стандартной библиотечной функцией C. Необходимо явным образом установить errno обнулять при необходимости.
Прежде, чем вызвать функцию, которая устанавливает errno чтобы указать на состояние ошибки, сбросьте errno обнулять явным образом.
| Группа: Программирование |
| Язык: C | C++ |
| Значение по умолчанию: На для рукописного кода, прочь для сгенерированного кода |
Синтаксис командной строки: MISSING_ERRNO_RESET |
| Удар: высоко |
| ID CWE: 253, 456, 703 |
Errno not checked | Find defects (-checkers) | Misuse of errno | Returned value of a sensitive function not checked