From b27f0b2cf9334dc7e8c60737d9a63fc471db76af Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 19 Oct 2005 17:11:25 +0000 Subject: [PATCH] * times.cc (utimes): Only consider fds opened with write access. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/times.cc | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 2314db392..27da34378 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2005-10-19 Christopher Faylor + + * times.cc (utimes): Only consider fds opened with write access. + 2005-10-19 Christopher Faylor * fhandler_disk_file.cc (fhandler_base::utimes_fs): Use existing handle diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc index cc4de9746..e4bcb8cef 100644 --- a/winsup/cygwin/times.cc +++ b/winsup/cygwin/times.cc @@ -452,7 +452,8 @@ utimes (const char *path, const struct timeval *tvp) cygheap_fdenum cfd; while (cfd.next () >= 0) - if (strcmp (cfd->get_win32_name (), win32) == 0) + if (cfd->get_access () & (FILE_WRITE_ATTRIBUTES | GENERIC_WRITE) + && strcmp (cfd->get_win32_name (), win32) == 0) { fh = cfd; fromfd = true;