From dc9c40a609de6a79ec30013b0963a57393daa22e Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 18 Jul 2014 15:24:04 -0400 Subject: [PATCH] fix missing flags arg to fstatat syscall in fstat fallback path this code path is used only on archs without the plain, non-at syscalls, and only when the fstat syscall fails with EBADF on a valid file descriptor. this in turn can happen only for O_PATH file descriptors, and may not happen at all on the newer kernels needed for supporting such archs. with the flags argument omitted, spurious fstat failures may happen when the argument register happens to have the AT_SYMLINK_NOFOLLOW bit set. --- src/stat/fstat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stat/fstat.c b/src/stat/fstat.c index a9289867..ab4afc0f 100644 --- a/src/stat/fstat.c +++ b/src/stat/fstat.c @@ -17,7 +17,7 @@ int fstat(int fd, struct stat *st) #ifdef SYS_stat return syscall(SYS_stat, buf, st); #else - return syscall(SYS_fstatat, AT_FDCWD, buf, st); + return syscall(SYS_fstatat, AT_FDCWD, buf, st, 0); #endif } -- 2.25.1