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

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



On Mon, Dec 2, 2013 at 12:41 AM, Andrew Cooper
<andrew.cooper3@xxxxxxxxxx> wrote:
> On 30/11/2013 03:42, 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 <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);
>
> access() can fail for many more reasons than just EACCES.  I would skip
> the errno check entirely and always print the error.

err() doesn't return though (calls exit()). Given that, is always
calling it still acceptable?

- Matthew

_______________________________________________
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®.