X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=source3%2Fsmbd%2Fsmb2_server.c;fp=source3%2Fsmbd%2Fsmb2_server.c;h=6871d98e4384ba13eafa60c6dcc1cbabe93c25c5;hb=27a01f7c4f7fe7f464a4d5cb11b55fb6f45654f3;hp=5a98a2e82d4d4e21b9f07ed4d28f966dffe15621;hpb=1b9e333e21a78f4fcefe587de88f1fd13afecaec;p=metze%2Fsamba%2Fwip.git diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 5a98a2e82d4d..6871d98e4384 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -2210,6 +2210,10 @@ static NTSTATUS smbd_smb2_request_dispatch_update_counts( bool update_open = false; NTSTATUS status = NT_STATUS_OK; + if (!smb2req->re_dispatching) { + return NT_STATUS_OK; + } + SMB_ASSERT(!req->request_counters_updated); if (xconn->protocol < PROTOCOL_SMB2_22) { @@ -2345,7 +2349,9 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req) DO_PROFILE_INC(request); - SMB_ASSERT(!req->request_counters_updated); + if (!smb2req->re_dispatching) { + SMB_ASSERT(!req->request_counters_updated); + } /* TODO: verify more things */ @@ -2851,6 +2857,7 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req) /* MS-SMB2: 3.3.4.1 Sending Any Outgoing Message */ smbd_smb2_request_reply_update_counts(req); + req->re_dispatching = false; if (req->do_encryption && (firsttf->iov_len == 0) &&