The branch, master has been updated
       via  615951e Make sure the returned sd is on the right context, and if 
not it's always freed.
       via  5afabdc9 Move setting of psd->dacl->revision and protect against 
null SD's.
      from  f88ab17 docs: Add '-V' to the list of options.

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


- Log -----------------------------------------------------------------
commit 615951e4e77353547d91fb217b1861877540bde7
Author: Jeremy Allison <[email protected]>
Date:   Tue Oct 9 12:46:57 2012 -0700

    Make sure the returned sd is on the right context, and if not it's always 
freed.
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Tue Oct  9 23:35:50 CEST 2012 on sn-devel-104

commit 5afabdc976d5ba1fd21dcdede85657b618fb6b76
Author: Jeremy Allison <[email protected]>
Date:   Tue Oct 9 12:45:30 2012 -0700

    Move setting of psd->dacl->revision and protect against null SD's.

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

Summary of changes:
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c 
b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
index 2d34b9b..982b0b4 100644
--- a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
+++ b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
@@ -2197,6 +2197,10 @@ WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct *p,
                goto error_exit;
        }
 
+       if (psd && psd->dacl) {
+               psd->dacl->revision = NT4_ACL_REVISION;
+       }
+
        sd_size = ndr_size_security_descriptor(psd, 0);
 
        sd_buf = talloc_zero(p->mem_ctx, struct sec_desc_buf);
@@ -2206,12 +2210,10 @@ WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct 
*p,
        }
 
        sd_buf->sd_size = sd_size;
-       sd_buf->sd = psd;
+       sd_buf->sd = talloc_move(p->mem_ctx, &psd);
 
        *r->out.sd_buf = sd_buf;
 
-       psd->dacl->revision = NT4_ACL_REVISION;
-
        close_file(NULL, fsp, NORMAL_CLOSE);
        vfs_ChDir(conn, oldcwd);
        SMB_VFS_DISCONNECT(conn);
@@ -2235,6 +2237,8 @@ error_exit:
        }
 
  done:
+
+       TALLOC_FREE(psd);
        TALLOC_FREE(smb_fname);
 
        return werr;


-- 
Samba Shared Repository

Reply via email to