summaryrefslogtreecommitdiff
path: root/source3/smbd/open.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-12-01 13:52:28 -0800
committerJeremy Allison <jra@samba.org>2008-12-01 13:52:28 -0800
commit787b0536b7a8d3b13bcb3b0f1d8f7ef7d99f4561 (patch)
treecb4e000dfc0b9c29d0da6e8d9dc1a77a6bc96a2c /source3/smbd/open.c
parentd1d9dc557434f4eb48cf53269920f43861e8c116 (diff)
downloadsamba-787b0536b7a8d3b13bcb3b0f1d8f7ef7d99f4561.tar.gz
samba-787b0536b7a8d3b13bcb3b0f1d8f7ef7d99f4561.tar.bz2
samba-787b0536b7a8d3b13bcb3b0f1d8f7ef7d99f4561.zip
s3:smbd: only try and fallback to open a directory if it's not a stream open
metze
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r--source3/smbd/open.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index a8cc5c9118..420a65b562 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -2927,6 +2927,13 @@ NTSTATUS create_file_unixpath(connection_struct *conn,
if (NT_STATUS_EQUAL(status, NT_STATUS_FILE_IS_A_DIRECTORY)) {
+ /* A stream open never opens a directory */
+
+ if (base_fsp) {
+ status = NT_STATUS_FILE_IS_A_DIRECTORY;
+ goto fail;
+ }
+
/*
* Fail the open if it was explicitly a non-directory
* file.