diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-08-06 21:16:38 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-08-07 11:10:52 +0200 |
commit | 8e419aab48ace1fe0d075e2a25935e650805a23c (patch) | |
tree | 89b01e057ef26c6779b85f2ae1c468046c840d38 /source3 | |
parent | 5b50e506d010c0c3fc15c1ecaef7aa9e5383691c (diff) | |
download | samba-8e419aab48ace1fe0d075e2a25935e650805a23c.tar.gz samba-8e419aab48ace1fe0d075e2a25935e650805a23c.tar.bz2 samba-8e419aab48ace1fe0d075e2a25935e650805a23c.zip |
s3:smbd: don't ignore check_descend in get_dir_entry()
metze
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/dir.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c index 642fb09362..7acd349b72 100644 --- a/source3/smbd/dir.c +++ b/source3/smbd/dir.c @@ -875,6 +875,7 @@ bool get_dir_entry(TALLOC_CTX *ctx, if ((strcmp(mask,"*.*") == 0) || mask_match_search(filename,mask,False) || mangle_mask_match(conn,filename,mask)) { + bool isdots = (ISDOT(dname) || ISDOTDOT(dname)); char mname[13]; struct smb_filename *smb_fname = NULL; NTSTATUS status; @@ -891,6 +892,11 @@ bool get_dir_entry(TALLOC_CTX *ctx, } } + if (check_descend && !isdots) { + TALLOC_FREE(filename); + continue; + } + if (needslash) { pathreal = talloc_asprintf(ctx, "%s/%s", |