summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-06-09 19:48:08 +0200
committerStefan Metzmacher <metze@samba.org>2009-06-09 19:51:03 +0200
commita18341dab955dc0ffce6e787de1798f8665c1d92 (patch)
tree4ac4e358d433832c636ef395b72fcfbc49981f2b /source3/smbd
parent66acfbffeb60cff811e32ddc54f44f63d96bf890 (diff)
downloadsamba-a18341dab955dc0ffce6e787de1798f8665c1d92.tar.gz
samba-a18341dab955dc0ffce6e787de1798f8665c1d92.tar.bz2
samba-a18341dab955dc0ffce6e787de1798f8665c1d92.zip
s3:smbd: only check the next_status for related requests
metze
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/smb2_server.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 35ecd3a893..101ccc951a 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -399,17 +399,18 @@ static NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req)
return smbd_smb2_request_error(req, NT_STATUS_ACCESS_DENIED);
}
- /*
- * This check is mostly for giving the correct error code
- * for compounded requests.
- *
- * TODO: we may need to move this after the session and tcon checks.
- */
- if (!NT_STATUS_IS_OK(req->next_status)) {
- return smbd_smb2_request_error(req, req->next_status);
- }
-
- if ((flags & SMB2_HDR_FLAG_CHAINED) == 0) {
+ if (flags & SMB2_HDR_FLAG_CHAINED) {
+ /*
+ * This check is mostly for giving the correct error code
+ * for compounded requests.
+ *
+ * TODO: we may need to move this after the session
+ * and tcon checks.
+ */
+ if (!NT_STATUS_IS_OK(req->next_status)) {
+ return smbd_smb2_request_error(req, req->next_status);
+ }
+ } else {
req->compat_chain_fsp = NULL;
}