diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | io/tst-fchownat.c | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 10cb7876f9..ea4e62b1e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,8 @@ Implement __statfs_chown_restricted. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Change _POSIX_CHOWN_RESTRICTED value to zero. + * io/tst-fchownat.c: Correctly handle _POSIX_CHOWN_RESTRICTED + defined to zero. * sysdeps/x86_64/rtld-memset.c: New file. diff --git a/io/tst-fchownat.c b/io/tst-fchownat.c index fd32ac9e6b..da8fd3b023 100644 --- a/io/tst-fchownat.c +++ b/io/tst-fchownat.c @@ -19,14 +19,17 @@ static int dir_fd; static void prepare (void) { -#if _POSIX_CHOWN_RESTRICTED > 0 - uid_t uid = getuid (); - if (uid != 0) +#if _POSIX_CHOWN_RESTRICTED == 0 + if (pathconf (test_dir, _PC_CHOWN_RESTRICTED) != 0) +#endif { - puts ("need root privileges"); - exit (0); + uid_t uid = getuid (); + if (uid != 0) + { + puts ("need root privileges"); + exit (0); + } } -#endif size_t test_dir_len = strlen (test_dir); static const char dir_name[] = "/tst-fchownat.XXXXXX"; |