[hackers] [sbase][PATCH] test: -erwx test against effetive uid/gid, not real

From: Mattias Andrée <maandree_AT_kth.se>
Date: Thu, 31 Mar 2016 03:04:59 +0200

Signed-off-by: Mattias Andrée <maandree_AT_kth.se>
---
 test.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/test.c b/test.c
index 3fe12c3..11974b8 100644
--- a/test.c
+++ b/test.c
_AT_@ -71,10 +71,10 @@ static int unary_u(char *s) { struct stat buf; if ( stat(s, &buf)) return 0; ret
 static int unary_n(char *s) { return  *s; }
 static int unary_z(char *s) { return !*s; }
 
-static int unary_e(char *s) { return !access(s, F_OK); }
-static int unary_r(char *s) { return !access(s, R_OK); }
-static int unary_w(char *s) { return !access(s, W_OK); }
-static int unary_x(char *s) { return !access(s, X_OK); }
+static int unary_e(char *s) { return !faccessat(AT_FDCWD, s, F_OK, AT_EACCESS); }
+static int unary_r(char *s) { return !faccessat(AT_FDCWD, s, R_OK, AT_EACCESS); }
+static int unary_w(char *s) { return !faccessat(AT_FDCWD, s, W_OK, AT_EACCESS); }
+static int unary_x(char *s) { return !faccessat(AT_FDCWD, s, X_OK, AT_EACCESS); }
 
 static int unary_t(char *s) { int fd = enstrtonum(2, s, 0, INT_MAX); return isatty(fd); }
 
-- 
2.7.4
Received on Thu Mar 31 2016 - 03:04:59 CEST

This archive was generated by hypermail 2.3.0 : Thu Mar 31 2016 - 03:12:15 CEST