A file is executable only if the effective user have permission to execute it. The real user's permissions do not matter.
Signed-off-by: Mattias Andrée <[email protected]> --- which.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/which.c b/which.c index cc93361..42ed095 100644 --- a/which.c +++ b/which.c @@ -20,7 +20,7 @@ canexec(int fd, const char *name) if (fstatat(fd, name, &st, 0) < 0 || !S_ISREG(st.st_mode)) return 0; - return faccessat(fd, name, X_OK, 0) == 0; + return faccessat(fd, name, X_OK, AT_EACCESS) == 0; } static int -- 2.22.0
