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


Reply via email to