From: Volker Lendecke <vl@samba.org>
Date: Sat, 6 Dec 2008 15:39:31 +0000 (+0100)
Subject: Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=698e96a826939bb24063f6a61801c174e19c32b1;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition

Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
---

diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index 0fe2527ce459..7e10b13d130b 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -1067,41 +1067,42 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon,
 
 	/* rcvd frame is ok */
 
-	if (midQ->resp_buf && out_buf
-	    && (midQ->midState == MID_RESPONSE_RECEIVED)) {
-		out_buf->smb_buf_length = receive_len;
-		memcpy((char *)out_buf + 4,
-		       (char *)midQ->resp_buf + 4,
-		       receive_len);
+	if ((midQ->resp_buf == NULL) || (out_buf == NULL)
+	    || (midQ->midState != MID_RESPONSE_RECEIVED)) {
+		rc = -EIO;
+		cERROR(1, ("Bad MID state?"));
+		goto out;
+	}
 
-		dump_smb(out_buf, 92);
-		/* convert the length into a more usable form */
-		if ((receive_len > 24) &&
-		    (ses->server->secMode & (SECMODE_SIGN_REQUIRED |
-					     SECMODE_SIGN_ENABLED))) {
-			rc = cifs_verify_signature(out_buf,
-						   &ses->server->mac_signing_key,
-						   midQ->sequence_number+1);
-			if (rc) {
-				cERROR(1, ("Unexpected SMB signature"));
-				/* BB FIXME add code to kill session */
-			}
+	out_buf->smb_buf_length = receive_len;
+	memcpy((char *)out_buf + 4,
+	       (char *)midQ->resp_buf + 4,
+	       receive_len);
+
+	dump_smb(out_buf, 92);
+	/* convert the length into a more usable form */
+	if ((receive_len > 24) &&
+	    (ses->server->secMode & (SECMODE_SIGN_REQUIRED |
+				     SECMODE_SIGN_ENABLED))) {
+		rc = cifs_verify_signature(out_buf,
+					   &ses->server->mac_signing_key,
+					   midQ->sequence_number+1);
+		if (rc) {
+			cERROR(1, ("Unexpected SMB signature"));
+			/* BB FIXME add code to kill session */
 		}
+	}
 
-		*pbytes_returned = out_buf->smb_buf_length;
+	*pbytes_returned = out_buf->smb_buf_length;
 
-		/* BB special case reconnect tid and uid here? */
-		rc = map_smb_to_linux_error(out_buf, 0 /* no log */ );
+	/* BB special case reconnect tid and uid here? */
+	rc = map_smb_to_linux_error(out_buf, 0 /* no log */ );
 
-		/* convert ByteCount if necessary */
-		if (receive_len >= sizeof(struct smb_hdr) - 4
-		    /* do not count RFC1001 header */  +
-		    (2 * out_buf->WordCount) + 2 /* bcc */ )
-			BCC(out_buf) = le16_to_cpu(BCC_LE(out_buf));
-	} else {
-		rc = -EIO;
-		cERROR(1, ("Bad MID state?"));
-	}
+	/* convert ByteCount if necessary */
+	if (receive_len >= sizeof(struct smb_hdr) - 4
+	    /* do not count RFC1001 header */  +
+	    (2 * out_buf->WordCount) + 2 /* bcc */ )
+		BCC(out_buf) = le16_to_cpu(BCC_LE(out_buf));
 
 out:
 	DeleteMidQEntry(midQ);