diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2012-09-25 11:00:08 +0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-09-26 22:15:24 -0500 |
commit | f065fd099fc475333fc7a55677a7f64764445d55 (patch) | |
tree | a1f5b22510ffe01efd3fbf273beedc00d4f86348 /fs/cifs | |
parent | 4ca3a99ca4bf8f5dcfc4fef4f2b1d8322bb60ad9 (diff) |
CIFS: Fix possible freed pointer dereference in CIFS_SessSetup
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/sess.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c index 382c06d01b3..76809f4d342 100644 --- a/fs/cifs/sess.c +++ b/fs/cifs/sess.c @@ -876,7 +876,8 @@ ssetup_ntlmssp_authenticate: pSMB = (SESSION_SETUP_ANDX *)iov[0].iov_base; smb_buf = (struct smb_hdr *)iov[0].iov_base; - if ((type == RawNTLMSSP) && (smb_buf->Status.CifsError == + if ((type == RawNTLMSSP) && (resp_buf_type != CIFS_NO_BUFFER) && + (smb_buf->Status.CifsError == cpu_to_le32(NT_STATUS_MORE_PROCESSING_REQUIRED))) { if (phase != NtLmNegotiate) { cERROR(1, "Unexpected more processing error"); |