+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
}
else
{
- /* 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
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 HAVE_FUTIMES
if (futimes (fd, t) == 0)
return 0;
# endif