Use parent_dirname_talloc instead of parent_dirname in smb_unix_mknod
authorVolker Lendecke <vl@samba.org>
Wed, 24 Dec 2008 12:46:22 +0000 (13:46 +0100)
committerVolker Lendecke <vl@samba.org>
Wed, 31 Dec 2008 18:33:25 +0000 (19:33 +0100)
source3/smbd/trans2.c

index 1d724bafd8429533fa1e358ef84bd77f769265cd..abc5888ba04bc95ca7025555de772d2d9ff3c101 100644 (file)
@@ -5982,9 +5982,13 @@ static NTSTATUS smb_unix_mknod(connection_struct *conn,
         */
 
        if (lp_inherit_perms(SNUM(conn))) {
-               inherit_access_posix_acl(
-                       conn, parent_dirname(fname),
-                       fname, unixmode);
+               char *parent;
+               if (!parent_dirname_talloc(talloc_tos(), fname, &parent,
+                                          NULL)) {
+                       return NT_STATUS_NO_MEMORY;
+               }
+               inherit_access_posix_acl(conn, parent, fname, unixmode);
+               TALLOC_FREE(parent);
        }
 
        if (SMB_VFS_STAT(conn, fname, psbuf) != 0) {