From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v2] xenconsole: merge pty access check into when it is opened Date: Mon, 2 Dec 2013 10:30:03 +0000 Message-ID: <529C612B.90601@citrix.com> References: <529BC659.8010602@citrix.com> <1385952098-30095-1-git-send-email-mattd@bugfuzz.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1385952098-30095-1-git-send-email-mattd@bugfuzz.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Matthew Daley Cc: Stefano Stabellini , Ian Jackson , Ian Campbell , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 02/12/13 02:41, Matthew Daley wrote: > 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 Reviewed-by: Andrew Cooper > --- > v2: err() if open() fails with EACCES as well > > tools/console/client/main.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/tools/console/client/main.c b/tools/console/client/main.c > index 38c856a..3242008 100644 > --- a/tools/console/client/main.c > +++ b/tools/console/client/main.c > @@ -116,12 +116,9 @@ 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) > + err(errno, "Could not open tty `%s'", pty_path); > free(pty_path); > } > }