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