From: Jonathan Nieder Date: Wed, 28 Mar 2012 18:04:04 GMT Subject: Re: [PATCH 2/2] git: continue alias lookup on EACCES errors 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.