|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |