Author: jra
Date: 2006-02-14 20:26:36 +0000 (Tue, 14 Feb 2006)
New Revision: 13496

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13496

Log:
Fix #3508 from [EMAIL PROTECTED]
Jeremy.


Modified:
   trunk/source/smbd/posix_acls.c


Changeset:
Modified: trunk/source/smbd/posix_acls.c
===================================================================
--- trunk/source/smbd/posix_acls.c      2006-02-14 12:35:56 UTC (rev 13495)
+++ trunk/source/smbd/posix_acls.c      2006-02-14 20:26:36 UTC (rev 13496)
@@ -4210,7 +4210,6 @@
 SEC_DESC* get_nt_acl_no_snum( TALLOC_CTX *ctx, const char *fname)
 {
        SEC_DESC *psd, *ret_sd;
-       size_t sd_size;
        connection_struct conn;
        files_struct finfo;
        struct fd_handle fh;
@@ -4221,7 +4220,7 @@
        conn.service = -1;
        
        if ( !(conn.mem_ctx = talloc_init( "novfs_get_nt_acl" )) ) {
-               DEBUG(0,("novfs_get_nt_acl: talloc() failed!\n"));
+               DEBUG(0,("get_nt_acl_no_snum: talloc() failed!\n"));
                return NULL;
        }
        
@@ -4229,7 +4228,8 @@
        set_conn_connectpath(&conn, path);
        
        if (!smbd_vfs_init(&conn)) {
-               DEBUG(0,("novfs_get_nt_acl: Unable to create a fake connection 
struct!\n"));
+               DEBUG(0,("get_nt_acl_no_snum: Unable to create a fake 
connection struct!\n"));
+               conn_free_internal( &conn );
                return NULL;
         }
        
@@ -4243,7 +4243,11 @@
        pstrcpy( filename, fname );
        finfo.fsp_name = filename;
        
-       sd_size = get_nt_acl( &finfo, DACL_SECURITY_INFORMATION, &psd );
+       if (get_nt_acl( &finfo, DACL_SECURITY_INFORMATION, &psd ) == 0) {
+               DEBUG(0,("get_nt_acl_no_snum: get_nt_acl returned zero.\n"));
+               conn_free_internal( &conn );
+               return NULL;
+       }
        
        ret_sd = dup_sec_desc( ctx, psd );
        

Reply via email to