diff options
Diffstat (limited to 'source/smbd/filename.c')
-rw-r--r-- | source/smbd/filename.c | 12 |
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 */ |