From d5693d99b83c9f10d13f279505139a3bf5591b89 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 27 Nov 2012 14:58:09 -0800 Subject: [PATCH] Fix Bug 9422 - large read requests cause server to issue malformed reply Reviewed by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Fri Nov 30 03:27:07 CET 2012 on sn-devel-104 --- libcli/smb/smb_seal.c | 2 +- source3/smbd/process.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libcli/smb/smb_seal.c b/libcli/smb/smb_seal.c index 78af733d00f..f4f804c9473 100644 --- a/libcli/smb/smb_seal.c +++ b/libcli/smb/smb_seal.c @@ -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'); diff --git a/source3/smbd/process.c b/source3/smbd/process.c index fd2c6a4b4a8..eeda6f99f22 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -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) { -- 2.11.4.GIT