Re: [PATCH 2/2] git: continue alias lookup on EACCES errors
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Mar 28, 2012, 18:04 UTC
- Message-ID
- <20120328180404.GA9052@burratino>
- In-Reply-To
- <20120328174841.GA27876@sigill.intra.peff.net>
Jeff King wrote:
> On Wed, Mar 28, 2012 at 10:42:26AM -0700, Junio C Hamano wrote:
>> I am leaning to think that it would be the least surprising if we treat as >> if /bin/ls does not even exist if /bin is not searchable. If /bin/ls is >> unreadable or unexecutable but /bin is searchable, then we _know_ it >> exists, and we follow the usual exec*p() rule to ignore it
[...]
> That sounds sensible to me. I think it involves writing our own > execvp, though, right?
If I understood Junio correctly, then checking for ENOENT and EACCES should be enough.
Example: when I try
:; mkdir $HOME/cannotread :; chmod -x $HOME/cannotread :; echo nonsense >$HOME/bin/cat :; chmod -x $HOME/bin/cat :; PATH=$HOME/cannotread:$HOME/bin/cat:/usr/local/bin:/usr/bin:/bin :; cat /etc/fstab
the shell uses /bin/cat without complaint.