[PATCH 3/4] wineserver: Return Access Denied when attempting to delete read-only file

Ben Peddell klightspeed at netspace.net.au
Wed Jun 27 20:32:55 CDT 2012


Deny the deletion of read-only files.

---
 server/fd.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/server/fd.c b/server/fd.c
index f3e42bd..7b85593 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -1837,6 +1837,12 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
             set_error( STATUS_FILE_IS_A_DIRECTORY );
             return NULL;
         }
+        if ((access & DELETE) && !(st.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH)))
+        {
+            release_object( fd );
+            set_error( STATUS_ACCESS_DENIED );
+            return NULL;
+        }
         if ((err = check_sharing( fd, access, sharing, flags, options )))
         {
             release_object( fd );
-- 
1.7.3.4




More information about the wine-patches mailing list