C and C++ Binaries


BADFUNC.TTYNAME : Use of ttyname

Summary

A use of ttyname(), which may return a non-null-terminated string depending on the implementation, and is not required to be thread-safe.

Properties

Class Name Use of ttyname
Significance security
Mnemonic BADFUNC.TTYNAME
Categories
CWE CWE:676 Use of Potentially Dangerous Function
CERT-C CERT-C:CON33-C Avoid race conditions when using library functions
BSI BSI:TTYNAME Use of ttyname
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Use of ttyname"
To enable all BSI-related classes, including all BSI-specific BADFUNC classes, use the bsi configuration preset.

Resolution

If thread-safety is required, do not use ttyname().

When you see a Use of ttyname warning, make sure that subsequent uses of the return value take into account the possibility that it is not null-terminated. If so, you can change the warning state to Suppressed.

Relevant Configuration File Parameters

This class is implemented using a BAD_FUNCTION_* rule set in the general template configuration file.

The following configuration file parameters affect checks for this warning class.