Explorar o código

restore property that fstat(AT_FDCWD) fails with EBADF

AT_FDCWD is not a valid file descriptor, so POSIX requires fstat to
fail with EBADF. if passed to fstatat, the call would spuriously
succeed and return results for the working directory.
Rich Felker %!s(int64=6) %!d(string=hai) anos
pai
achega
eeff60608c
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      src/stat/fstat.c

+ 1 - 0
src/stat/fstat.c

@@ -6,6 +6,7 @@
 
 
 int fstat(int fd, struct stat *st)
 int fstat(int fd, struct stat *st)
 {
 {
+	if (fd<0) return __syscall_ret(-EBADF);
 	return fstatat(fd, "", st, AT_EMPTY_PATH);
 	return fstatat(fd, "", st, AT_EMPTY_PATH);
 }
 }