[linux-cifs-client] [PATCH] cifs: initialize nbytes at the beginning of CIFSSMBWrite()

Suresh Jayaraman sjayaraman at suse.de
Tue Mar 30 11:34:52 MDT 2010


By doing this we always overwrite nbytes value that is being passed on to
CIFSSMBWrite() and need not rely on the callers to initialize. CIFSSMBWrite2 is
doing this already.

I have not Cc-ed -stable, please do so if required.


Cc: Shirish Pargaonkar <shirishpargaonkar at gmail.com>
Reviewed-by: Jeff Layton <jlayton at samba.org>
Signed-off-by: Suresh Jayaraman <sjayaraman at suse.de>
---
 fs/cifs/cifssmb.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index 7cc7f83..64c2b60 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -1430,6 +1430,8 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon,
 	__u32 bytes_sent;
 	__u16 byte_count;
 
+	*nbytes = 0;
+
 	/* cFYI(1, ("write at %lld %d bytes", offset, count));*/
 	if (tcon->ses == NULL)
 		return -ECONNABORTED;
@@ -1510,10 +1512,9 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon,
 	rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
 			 (struct smb_hdr *) pSMBr, &bytes_returned, long_op);
 	cifs_stats_inc(&tcon->num_writes);
-	if (rc) {
+	if (rc)
 		cFYI(1, ("Send error in write = %d", rc));
-		*nbytes = 0;
-	} else {
+	else {
 		*nbytes = le16_to_cpu(pSMBr->CountHigh);
 		*nbytes = (*nbytes) << 16;
 		*nbytes += le16_to_cpu(pSMBr->Count);


More information about the linux-cifs-client mailing list