<div dir="ltr">Yep! I had a case that file belongs to some other user.... /dev/sda1 on my system.<div><br></div><div style>may be doing FACCESSAT would be better.</div><div style><br></div><div style>-Ashwini</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Fri, Apr 26, 2013 at 7:26 PM, Rob Landley <span dir="ltr"><<a href="mailto:rob@landley.net" target="_blank">rob@landley.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 04/25/2013 12:12:20 AM, Ashwini Sharma wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Rob,<br>
<br>
Calling xabspath() function with "exact=1", makes sure that the last path<br>
component exists.<br>
<br>
I think the decision making statement<br>
<br>
fd = openat(dirfd, s, 0);<br>
if (fd == -1 && (exact || todo || errno != ENOENT)) goto error;<br>
<br>
will jump to error:, when openat fails, though the 's' is the last<br>
component in the path.<br>
<br>
Failing to open the last component with errno != ENOENT doesn't mean the<br>
component doesn't exist.<br>
</blockquote>
<br></div>
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)?<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 The check should be modified to see if the fail happens at last component<br>
or otherwise.<br>
</blockquote>
<br></div>
I don't know what you mean by that. Above is my guess?<span class="HOEnZb"><font color="#888888"><br>
<br>
Rob</font></span></blockquote></div><br></div>