summaryrefslogtreecommitdiff
path: root/source/smbd/filename.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/smbd/filename.c')
-rw-r--r--source/smbd/filename.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/smbd/filename.c b/source/smbd/filename.c
index 51246dbc056..fd4377c54fd 100644
--- a/source/smbd/filename.c
+++ b/source/smbd/filename.c
@@ -324,6 +324,18 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
pstrcat(start,"/");
pstrcat(start,rest);
*end = '\0';
+ } else {
+ /*
+ * We just scanned for, and found the end of the path.
+ * We must return a valid stat struct if it exists.
+ * JRA.
+ */
+
+ if (vfs_stat(conn,name, &st) == 0) {
+ *pst = st;
+ } else {
+ ZERO_STRUCT(st);
+ }
}
} /* end else */