diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/sesssetup.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c index 02a66b37c3..845bf75310 100644 --- a/source3/smbd/sesssetup.c +++ b/source3/smbd/sesssetup.c @@ -125,16 +125,17 @@ static void reply_sesssetup_blob(struct smb_request *req, if (!NT_STATUS_IS_OK(nt_status) && !NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) { reply_nterror(req, nt_status_squash(nt_status)); - } else { - nt_status = nt_status_squash(nt_status); - SIVAL(req->outbuf, smb_rcls, NT_STATUS_V(nt_status)); - SSVAL(req->outbuf, smb_vwv0, 0xFF); /* no chaining possible */ - SSVAL(req->outbuf, smb_vwv3, blob.length); - - if ((message_push_blob(&req->outbuf, blob) == -1) - || (push_signature(&req->outbuf) == -1)) { - reply_nterror(req, NT_STATUS_NO_MEMORY); - } + return; + } + + nt_status = nt_status_squash(nt_status); + SIVAL(req->outbuf, smb_rcls, NT_STATUS_V(nt_status)); + SSVAL(req->outbuf, smb_vwv0, 0xFF); /* no chaining possible */ + SSVAL(req->outbuf, smb_vwv3, blob.length); + + if ((message_push_blob(&req->outbuf, blob) == -1) + || (push_signature(&req->outbuf) == -1)) { + reply_nterror(req, NT_STATUS_NO_MEMORY); } } |