diff options
author | Volker Lendecke <vl@samba.org> | 2008-12-06 10:00:53 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2008-12-25 21:29:12 -0500 |
commit | 829049cbb1d2ddda2be17ea008b6b3c457808d91 (patch) | |
tree | df237e75ddea5016ee07b68496a2d85df1301eac /fs/cifs | |
parent | 4c3130efda1ef4f28d5f26819fae2e58c3945f0b (diff) |
Check the return value of cifs_sign_smb[2]
Check the return value of cifs_sign_smb[2]
Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/transport.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index 5f224e999585..dc2d1b0bba58 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c | |||
@@ -530,6 +530,11 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
530 | return rc; | 530 | return rc; |
531 | } | 531 | } |
532 | rc = cifs_sign_smb2(iov, n_vec, ses->server, &midQ->sequence_number); | 532 | rc = cifs_sign_smb2(iov, n_vec, ses->server, &midQ->sequence_number); |
533 | if (rc) { | ||
534 | mutex_unlock(&ses->server->srv_mutex); | ||
535 | cifs_small_buf_release(in_buf); | ||
536 | goto out; | ||
537 | } | ||
533 | 538 | ||
534 | midQ->midState = MID_REQUEST_SUBMITTED; | 539 | midQ->midState = MID_REQUEST_SUBMITTED; |
535 | #ifdef CONFIG_CIFS_STATS2 | 540 | #ifdef CONFIG_CIFS_STATS2 |
@@ -718,6 +723,10 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
718 | } | 723 | } |
719 | 724 | ||
720 | rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); | 725 | rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); |
726 | if (rc) { | ||
727 | mutex_unlock(&ses->server->srv_mutex); | ||
728 | goto out; | ||
729 | } | ||
721 | 730 | ||
722 | midQ->midState = MID_REQUEST_SUBMITTED; | 731 | midQ->midState = MID_REQUEST_SUBMITTED; |
723 | #ifdef CONFIG_CIFS_STATS2 | 732 | #ifdef CONFIG_CIFS_STATS2 |
@@ -948,6 +957,11 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
948 | } | 957 | } |
949 | 958 | ||
950 | rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); | 959 | rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); |
960 | if (rc) { | ||
961 | DeleteMidQEntry(midQ); | ||
962 | mutex_unlock(&ses->server->srv_mutex); | ||
963 | return rc; | ||
964 | } | ||
951 | 965 | ||
952 | midQ->midState = MID_REQUEST_SUBMITTED; | 966 | midQ->midState = MID_REQUEST_SUBMITTED; |
953 | #ifdef CONFIG_CIFS_STATS2 | 967 | #ifdef CONFIG_CIFS_STATS2 |