diff options
author | Jeremy Allison <jra@samba.org> | 2010-06-10 13:19:25 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-06-10 13:19:25 -0700 |
commit | edd8940e1864deedaf0f6484809def586ac215f2 (patch) | |
tree | 8d81416698487b45976ab3e570584104594527c5 /source3 | |
parent | b5638a05601ce8206a85c2f3625f8894ed0e0a6f (diff) | |
download | samba-edd8940e1864deedaf0f6484809def586ac215f2.tar.gz samba-edd8940e1864deedaf0f6484809def586ac215f2.tar.bz2 samba-edd8940e1864deedaf0f6484809def586ac215f2.zip |
Ensure we correctly setup req->subreq before testing for async. Stops crashes when
XX_send functions set async to stop interim replies being sent.
Jeremy.
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/smb2_server.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index d7be0deb09..a8104a1394 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -701,6 +701,9 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req, return NT_STATUS_OK; } + req->subreq = subreq; + subreq = NULL; + if (req->async) { /* We're already async. */ return NT_STATUS_OK; @@ -712,14 +715,11 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req, * request chain. This is not allowed. * Cancel the outstanding request. */ - tevent_req_cancel(subreq); + tevent_req_cancel(req->subreq); return smbd_smb2_request_error(req, NT_STATUS_INSUFFICIENT_RESOURCES); } - req->subreq = subreq; - subreq = NULL; - if (DEBUGLEVEL >= 10) { dbgtext("smbd_smb2_request_pending_queue: req->current_idx = %u\n", (unsigned int)req->current_idx ); |