util-lib: Don't propagate EACCES from find_binary PATH lookup to caller
authorChris Down <chris@chrisdown.name>
Wed, 25 Sep 2019 16:09:38 +0000 (17:09 +0100)
committerMichael Biebl <biebl@debian.org>
Fri, 15 Nov 2019 21:01:17 +0000 (21:01 +0000)
commit3c7a1d75d4e4f5f0e7f76d4b60da76308323e668
treef0f00989924f0a22b583dca2af7952b5943e8924
parent2fc5aaaee9aed75816b1292bac7b77b28acf22ec
util-lib: Don't propagate EACCES from find_binary PATH lookup to caller

On one of my test machines, test-path-util was failing because the
find_binary("xxxx-xxxx") was returning -EACCES instead of -ENOENT. This
happens because the PATH entry on that host contains a directory which
the user in question doesn't have access to. Typically applications
ignore permission errors when searching through PATH, for example in
bash:

    $ whoami
    cdown
    $ PATH=/root:/bin type sh
    sh is /bin/sh

This behaviour is present on zsh and other shells as well, though. This
patch brings our PATH search behaviour closer to other major Unix tools.

(cherry picked from commit 4e1ddb661272ddb2f03d6046369c973657dfdd62)
(cherry picked from commit 8282bc61df10dc1f2290c9c351d5ff6fdb157c24)

Gbp-Pq: Name util-lib-Don-t-propagate-EACCES-from-find_binary-PATH-loo.patch
src/basic/path-util.c