[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] xenconsole: merge pty access check into when it is opened



This stops pty_path from being leaked, and removes the toctou race,
FWIW.

Not sure why it's a separate check to begin with...

Coverity-ID: 1056047
Signed-off-by: Matthew Daley <mattd@xxxxxxxxxxx>
---
 tools/console/client/main.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/console/client/main.c b/tools/console/client/main.c
index 38c856a..c32d3eb 100644
--- a/tools/console/client/main.c
+++ b/tools/console/client/main.c
@@ -116,12 +116,12 @@ static int get_pty_fd(struct xs_handle *xs, char *path, 
int seconds)
                         * disambiguate: just read the pty path */
                        pty_path = xs_read(xs, XBT_NULL, path, &len);
                        if (pty_path != NULL) {
-                               if (access(pty_path, R_OK|W_OK) != 0)
-                                       continue;
                                pty_fd = open(pty_path, O_RDWR | O_NOCTTY);
-                               if (pty_fd == -1) 
-                                       err(errno, "Could not open tty `%s'", 
-                                           pty_path);
+                               if (pty_fd == -1) {
+                                       if (errno != EACCES)
+                                               err(errno, "Could not open tty 
`%s'",
+                                                       pty_path);
+                               }
                                free(pty_path);
                        }
                }
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.