From: Todd C. Miller Date: Thu, 31 Jan 2013 16:10:23 +0000 (-0500) Subject: Remove ttyname() fall back code on systems where we can query the X-Git-Tag: SUDO_1_7_10p5~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c68d03e22ed545ba719bdd74ae698daf9ce1a86d;p=sudo Remove ttyname() fall back code on systems where we can query the kernel for the tty device via /proc or sysctl(). If there is no controlling tty, it is better to just treat the tty as unknown rather than to blindly use what is hooked up to std{in,out,err}. --HG-- branch : 1.7 --- diff --git a/ttyname.c b/ttyname.c index c116eeab8..fa67d39a2 100644 --- a/ttyname.c +++ b/ttyname.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012 Todd C. Miller + * Copyright (c) 2012-2013 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -368,14 +368,6 @@ get_process_ttyname() } efree(ki_proc); - /* If all else fails, fall back on ttyname(). */ - if (tty == NULL) { - if ((tty = ttyname(STDIN_FILENO)) != NULL || - (tty = ttyname(STDOUT_FILENO)) != NULL || - (tty = ttyname(STDERR_FILENO)) != NULL) - tty = estrdup(tty); - } - return tty; } #elif defined(HAVE_STRUCT_PSINFO_PR_TTYDEV) @@ -407,14 +399,6 @@ get_process_ttyname() } } - /* If all else fails, fall back on ttyname(). */ - if (tty == NULL) { - if ((tty = ttyname(STDIN_FILENO)) != NULL || - (tty = ttyname(STDOUT_FILENO)) != NULL || - (tty = ttyname(STDERR_FILENO)) != NULL) - tty = estrdup(tty); - } - return tty; } #elif defined(__linux__) @@ -432,7 +416,7 @@ get_process_ttyname() ssize_t len; int i; - /* Try to determine the tty from pr_ttydev in /proc/pid/psinfo. */ + /* Try to determine the tty from tty_nr in /proc/pid/stat. */ for (i = 0; tty == NULL && i < 2; i++) { FILE *fp; char path[PATH_MAX]; @@ -460,14 +444,6 @@ get_process_ttyname() } efree(line); - /* If all else fails, fall back on ttyname(). */ - if (tty == NULL) { - if ((tty = ttyname(STDIN_FILENO)) != NULL || - (tty = ttyname(STDOUT_FILENO)) != NULL || - (tty = ttyname(STDERR_FILENO)) != NULL) - tty = estrdup(tty); - } - return tty; } #else