Fix Bug 9422 - large read requests cause server to issue malformed reply
authorVolker Lendecke <vl@samba.org>
Tue, 27 Nov 2012 22:58:09 +0000 (14:58 -0800)
committerKarolin Seeger <kseeger@samba.org>
Thu, 29 Nov 2012 08:02:09 +0000 (09:02 +0100)
Reviewed by: Jeremy Allison <jra@samba.org>

libcli/smb/smb_seal.c
source3/smbd/process.c

index 78af733d00f35736fc5fe64fa61da4574cb8f062..f4f804c94738b84970c6eb25a30bc5936306ce89 100644 (file)
@@ -56,7 +56,7 @@ NTSTATUS get_enc_ctx_num(const uint8_t *buf, uint16_t *p_enc_ctx_num)
 
 static void smb_set_enclen(char *buf,int len,uint16_t enc_ctx_num)
 {
-       _smb_setlen_nbt(buf,len);
+       _smb_setlen_tcp(buf,len);
 
        SCVAL(buf,4,0xFF);
        SCVAL(buf,5,'E');
index fd2c6a4b4a88d14b1453b4e5f9cb020a904f027d..eeda6f99f22e1b9404bac2d913d5329fbf15d35c 100644 (file)
@@ -170,7 +170,7 @@ bool srv_send_smb(struct smbd_server_connection *sconn, char *buffer,
                }
        }
 
-       len = smb_len(buf_out) + 4;
+       len = smb_len_large(buf_out) + 4;
 
        ret = write_data(sconn->sock, buf_out+nwritten, len - nwritten);
        if (ret <= 0) {