[Toybox] XBSPATH() bug
Rob Landley
rob at landley.net
Fri Apr 26 06:56:31 PDT 2013
On 04/25/2013 12:12:20 AM, Ashwini Sharma wrote:
> Hi Rob,
>
> Calling xabspath() function with "exact=1", makes sure that the last
> path
> component exists.
>
> I think the decision making statement
>
> fd = openat(dirfd, s, 0);
> if (fd == -1 && (exact || todo || errno != ENOENT)) goto error;
>
> will jump to error:, when openat fails, though the 's' is the last
> component in the path.
>
> Failing to open the last component with errno != ENOENT doesn't mean
> the
> component doesn't exist.
Ah, you're referring to a file that exists but belongs to another user,
or is chmod 000 or similar? So the last test should be faccessat(F_OK)?
> The check should be modified to see if the fail happens at last
> component
> or otherwise.
I don't know what you mean by that. Above is my guess?
Rob
More information about the Toybox
mailing list