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