[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed Apr 27 21:58:03 UTC 2016


The branch, master has been updated
       via  10b0a8b smbd: Avoid large reads beyond EOF
      from  07e2f47 Fix the smb2_setinfo to handle FS info types and FSQUOTA infolevel

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 10b0a8baa25fab70df8e6c5f0048ce0963211517
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Apr 27 12:15:37 2016 +0200

    smbd: Avoid large reads beyond EOF
    
    With unix extensions and oplocks=no mount.cifs from jessie reads beyond the
    file end forever, and we are happy to return zeros....
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11878
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed Apr 27 23:57:56 CEST 2016 on sn-devel-144

-----------------------------------------------------------------------

Summary of changes:
 source3/smbd/reply.c | 10 ++++++++++
 1 file changed, 10 insertions(+)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index cbe15a3..e0e55c6 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -4100,6 +4100,16 @@ normal_read:
 		uint8_t headerbuf[smb_size + 2*12 + 1 /* padding byte */];
 		ssize_t ret;
 
+		if (!S_ISREG(fsp->fsp_name->st.st_ex_mode) ||
+		    (startpos > fsp->fsp_name->st.st_ex_size) ||
+		    (smb_maxcnt > (fsp->fsp_name->st.st_ex_size - startpos))) {
+			/*
+			 * We already know that we would do a short
+			 * read, so don't try the sendfile() path.
+			 */
+			goto nosendfile_read;
+		}
+
 		construct_reply_common_req(req, (char *)headerbuf);
 		setup_readX_header(req, (char *)headerbuf, smb_maxcnt);
 


-- 
Samba Shared Repository



More information about the samba-cvs mailing list