summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/smb_server/reply.c2
-rw-r--r--source4/smb_server/smb_server.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/source4/smb_server/reply.c b/source4/smb_server/reply.c
index 4526d6f7f3..75c5772bf7 100644
--- a/source4/smb_server/reply.c
+++ b/source4/smb_server/reply.c
@@ -2174,7 +2174,7 @@ void reply_ulogoffX(struct smbsrv_request *req)
struct smbsrv_tcon *tcon;
NTSTATUS status;
- if (!req->session) {
+ if (!req->session || !req->session->finished_sesssetup) {
req_reply_error(req, NT_STATUS_DOS(ERRSRV, ERRbaduid));
return;
}
diff --git a/source4/smb_server/smb_server.c b/source4/smb_server/smb_server.c
index 340674b8df..7e1e8a8f4e 100644
--- a/source4/smb_server/smb_server.c
+++ b/source4/smb_server/smb_server.c
@@ -504,7 +504,7 @@ static void switch_message(int type, struct smbsrv_request *req)
}
/* see if the vuid is valid */
- if ((flags & AS_USER) && !req->session) {
+ if ((flags & AS_USER) && (!req->session || !req->session->finished_sesssetup)) {
/* amazingly, the error code depends on the command */
switch (type) {
case SMBntcreateX: