From: Ralph Boehme Date: Sun, 17 May 2020 05:53:42 +0000 (+0200) Subject: smbd: prepare fsp_str_dbg() for atnames X-Git-Tag: ldb-2.2.0~364 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76118b4830aa28ac61fb7f43bc103bbffbe3a608;p=thirdparty%2Fsamba.git smbd: prepare fsp_str_dbg() for atnames Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison --- diff --git a/source3/lib/filename_util.c b/source3/lib/filename_util.c index 00a5fcda997..418dd20327b 100644 --- a/source3/lib/filename_util.c +++ b/source3/lib/filename_util.c @@ -180,7 +180,29 @@ const char *smb_fname_str_dbg(const struct smb_filename *smb_fname) */ const char *fsp_str_dbg(const struct files_struct *fsp) { - return smb_fname_str_dbg(fsp->fsp_name); + const char *name = NULL; + + name = smb_fname_str_dbg(fsp->fsp_name); + if (name == NULL) { + return ""; + } + + if (fsp->dirfsp == NULL || fsp->dirfsp == fsp->conn->cwd_fsp) { + return name; + } + + if (ISDOT(fsp->dirfsp->fsp_name->base_name)) { + return name; + } + + name = talloc_asprintf(talloc_tos(), + "%s/%s", + fsp->dirfsp->fsp_name->base_name, + fsp->fsp_name->base_name); + if (name == NULL) { + return ""; + } + return name; } /**