tty_exist(): Simplify, no need to call access() and then open()

Found by Coverity Scan, classified as security issue but was just
unnecessary overhead.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson
2017-10-18 23:06:04 +02:00
parent 11dd877484
commit 5c3a07e8e6
+4 -10
View File
@@ -345,24 +345,18 @@ tty_node_t *tty_find_by_pid(pid_t pid)
static int tty_exist(char *dev)
{
int fd;
int fd, result;
struct termios c;
if (access(dev, F_OK))
return 1;
fd = open(dev, O_RDONLY);
fd = open(dev, O_RDWR);
if (-1 == fd)
return 1;
/* XXX: Add check for errno == EIO? */
if (tcgetattr(fd, &c)) {
close(fd);
return 1;
}
result = tcgetattr(fd, &c);
close(fd);
return 0;
return result;
}
void tty_start(finit_tty_t *tty)