s3:smbd:vfs_acl: fix a PANIC when setting an ACL fails with ACCESS_DENIED
authorMichael Adam <obnox@samba.org>
Tue, 4 Dec 2012 01:02:07 +0000 (02:02 +0100)
committerKarolin Seeger <kseeger@samba.org>
Tue, 4 Dec 2012 12:34:23 +0000 (13:34 +0100)
Omission to free the talloc frame causes a panic (at least in developer mode)
in the next main event loop due to "Frame not freed in order."
(Freed frame ../source3/smbd/process.c:3617, expected ../source3/modules/vfs_acl_common.c:534.)

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Dec  4 09:03:25 CET 2012 on sn-devel-104
(cherry picked from commit 4a8028a96e20f140c2d423efd4c010a7d300ca72)

Fix bug #9456 - developer-build: panic when acl_xattr fails with access denied.

Autobuild-User(v4-0-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-0-test): Tue Dec  4 13:34:24 CET 2012 on sn-devel-104

source3/modules/vfs_acl_common.c

index 59ced2922f34306e3add9f61c91fa54d558a053b..4e3aa72d378194a8595ce7d1cd904d038dd5e7db 100644 (file)
@@ -590,6 +590,7 @@ static NTSTATUS fset_nt_acl_common(vfs_handle_struct *handle, files_struct *fsp,
                if (get_current_uid(handle->conn) == 0 ||
                                chown_needed == false ||
                                !(fsp->access_mask & SEC_STD_WRITE_OWNER)) {
+                       TALLOC_FREE(frame);
                        return NT_STATUS_ACCESS_DENIED;
                }