summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/reply.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index da7fadae3b..b3df8acf11 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -2038,6 +2038,17 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
struct smb_Dir *dir_hnd = NULL;
const char *dname;
+ /* Ensure we check bad_path in the wcard case.
+ * This may not be correct w.r.t. Windows (needs
+ * smbtorture test cases which will be forthcoming)
+ * but prevents us from continuing in the obvious
+ * bad path case. This is merely a placeholder. JRA.
+ */
+
+ if (!rc && bad_path) {
+ return NT_STATUS_OBJECT_PATH_NOT_FOUND;
+ }
+
if (strequal(mask,"????????.???"))
pstrcpy(mask,"*");