The branch, master has been updated
       via  6747a91... Fix bug 6891 - using windows explorer to change 
ownership on a folder fails with Bad File Descriptor. Jeremy.
      from  83c2c17... Ensure every return path initializes presult as NULL. 
Ensures no crashes in calling code that forgets to init return as null. Jeremy.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6747a91ca0c350374c54bac5892cf96e5aed029f
Author: Jeremy Allison <[email protected]>
Date:   Thu Nov 12 13:08:04 2009 -0800

    Fix bug 6891 - using windows explorer to change ownership on a folder fails 
with Bad File Descriptor.
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source3/smbd/posix_acls.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c
index 26e609f..15ea4d5 100644
--- a/source3/smbd/posix_acls.c
+++ b/source3/smbd/posix_acls.c
@@ -3594,7 +3594,17 @@ int try_chown(connection_struct *conn, struct 
smb_filename *smb_fname,
 
        become_root();
        /* Keep the current file gid the same. */
-       ret = SMB_VFS_FCHOWN(fsp, uid, (gid_t)-1);
+       if (fsp->fh->fd == -1) {
+               if (lp_posix_pathnames()) {
+                       ret = SMB_VFS_LCHOWN(conn, smb_fname->base_name, uid,
+                                           (gid_t)-1);
+               } else {
+                       ret = SMB_VFS_CHOWN(conn, smb_fname->base_name, uid,
+                                           (gid_t)-1);
+               }
+       } else {
+               ret = SMB_VFS_FCHOWN(fsp, uid, (gid_t)-1);
+       }
        unbecome_root();
 
        close_file_fchmod(NULL, fsp);


-- 
Samba Shared Repository

Reply via email to