mirror of
https://git.savannah.gnu.org/git/coreutils.git
synced 2025-09-10 07:59:52 +02:00
stty: ensure arbitrary data is not displayed
* src/stty.c (main): Use static structures to ensure they're initialized (to zero), so that random data is not displayed, or compared resulting in a inaccurate failure reported to users. This was seen on musl libc where some parts of the termios c_cc array were not initialized by tcgetattr(). Reported by Bruno Haible.
This commit is contained in:
@@ -1290,7 +1290,9 @@ apply_settings (bool checking, char const *device_name,
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
struct termios mode;
|
||||
/* Initialize to all zeroes so there is no risk memcmp will report a
|
||||
spurious difference in an uninitialized portion of the structure. */
|
||||
static struct termios mode;
|
||||
|
||||
enum output_type output_type;
|
||||
int optc;
|
||||
@@ -1426,7 +1428,9 @@ main (int argc, char **argv)
|
||||
|
||||
if (require_set_attr)
|
||||
{
|
||||
struct termios new_mode;
|
||||
/* Initialize to all zeroes so there is no risk memcmp will report a
|
||||
spurious difference in an uninitialized portion of the structure. */
|
||||
static struct termios new_mode;
|
||||
|
||||
if (tcsetattr (STDIN_FILENO, tcsetattr_options, &mode))
|
||||
die (EXIT_FAILURE, errno, "%s", quotef (device_name));
|
||||
|
||||
Reference in New Issue
Block a user