Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9587fcff authored by Jeff Layton's avatar Jeff Layton Committed by Steve French
Browse files

cifs: fix length vs. total_read confusion in cifs_demultiplex_thread



length at this point is the length returned by the last kernel_recvmsg
call. total_read is the length of all of the data read so far. length
is more or less meaningless at this point, so use total_read for
everything.

Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
Reviewed-by: default avatarPavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent afe8a887
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -578,12 +578,12 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
		else if (reconnect == 1)
			continue;

		length += 4; /* account for rfc1002 hdr */
		total_read += 4; /* account for rfc1002 hdr */


		dump_smb(smb_buffer, length);
		if (checkSMB(smb_buffer, smb_buffer->Mid, total_read+4)) {
			cifs_dump_mem("Bad SMB: ", smb_buffer, 48);
		dump_smb(smb_buffer, total_read);
		if (checkSMB(smb_buffer, smb_buffer->Mid, total_read)) {
			cifs_dump_mem("Bad SMB: ", smb_buffer,
					total_read < 48 ? total_read : 48);
			continue;
		}