* lib/utimens.c (fdutimens) [HAVE_FUTIMESAT]: Remove invalid futimesat
call. It used the file descriptor of the target file as the DIR_FD
parameter and NULL as the file name. That caused failure with
errno == EFAULT on FreeBSD-8.0-rc2.
(cherry picked from commit
26c5fd742f9136e2ddbd4695a9172c3fa30ea260)
+2009-11-08 Jim Meyering <meyering@redhat.com>
+
+ utimens: remove invalid futimesat call
+ * lib/utimens.c (fdutimens): Remove invalid futimesat call.
+ It used the file descriptor of the target file as the DIR_FD
+ parameter and NULL as the file name. That caused failure with
+ errno == EFAULT on FreeBSD-8.0-rc2
+
2009-11-07 Eric Blake <ebb9@byu.net>
fflush, freadseek: use fseeko, not fseek
2009-11-07 Eric Blake <ebb9@byu.net>
fflush, freadseek: use fseeko, not fseek
- /* If futimesat or futimes fails here, don't try to speed things
- up by returning right away. glibc can incorrectly fail with
- errno == ENOENT if /proc isn't mounted. Also, Mandrake 10.0
+ /* If futimesat (above) or futimes fails here, don't try to speed
+ things up by returning right away. glibc can incorrectly fail
+ with errno == ENOENT if /proc isn't mounted. Also, Mandrake 10.0
in high security mode doesn't allow ordinary users to read
/proc/self, so glibc incorrectly fails with errno == EACCES.
If errno == EIO, EPERM, or EROFS, it's probably safe to fail
in high security mode doesn't allow ordinary users to read
/proc/self, so glibc incorrectly fails with errno == EACCES.
If errno == EIO, EPERM, or EROFS, it's probably safe to fail
worth optimizing, and who knows what other messed-up systems
are out there? So play it safe and fall back on the code
below. */
worth optimizing, and who knows what other messed-up systems
are out there? So play it safe and fall back on the code
below. */
-# if HAVE_FUTIMESAT
- if (futimesat (fd, NULL, t) == 0)
- return 0;
-# elif HAVE_FUTIMES
if (futimes (fd, t) == 0)
return 0;
# endif
if (futimes (fd, t) == 0)
return 0;
# endif