From: Ralph Boehme Date: Mon, 14 Dec 2020 14:39:37 +0000 (+0100) Subject: vfs_extd_audit: support real dirfsps in audit_mkdirat() X-Git-Tag: samba-4.14.0rc1~201 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c79c2f2e829f5a11687785f5761675f25d93f7f;p=thirdparty%2Fsamba.git vfs_extd_audit: support real dirfsps in audit_mkdirat() Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison --- diff --git a/source3/modules/vfs_extd_audit.c b/source3/modules/vfs_extd_audit.c index 9b231d76ed9..daf88672862 100644 --- a/source3/modules/vfs_extd_audit.c +++ b/source3/modules/vfs_extd_audit.c @@ -192,8 +192,17 @@ static int audit_mkdirat(vfs_handle_struct *handle, const struct smb_filename *smb_fname, mode_t mode) { + struct smb_filename *full_fname = NULL; int result; + full_fname = full_path_from_dirfsp_atname(talloc_tos(), + dirfsp, + smb_fname); + if (full_fname == NULL) { + errno = ENOMEM; + return -1; + } + result = SMB_VFS_NEXT_MKDIRAT(handle, dirfsp, smb_fname, @@ -201,15 +210,16 @@ static int audit_mkdirat(vfs_handle_struct *handle, if (lp_syslog() > 0) { syslog(audit_syslog_priority(handle), "mkdirat %s %s%s\n", - smb_fname->base_name, + full_fname->base_name, (result < 0) ? "failed: " : "", (result < 0) ? strerror(errno) : ""); } DEBUG(0, ("vfs_extd_audit: mkdirat %s %s %s\n", - smb_fname->base_name, + full_fname->base_name, (result < 0) ? "failed: " : "", (result < 0) ? strerror(errno) : "")); + TALLOC_FREE(full_fname); return result; }