summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-11-27 14:58:09 -0800
committerJeremy Allison <jra@samba.org>2012-11-30 03:27:07 +0100
commitd5693d99b83c9f10d13f279505139a3bf5591b89 (patch)
treecaa7fc6253a4cc1c7ecd1ffad258260d0a5079ce
parent2f38a77a2dfc72ccd94f5027807c9484dae54358 (diff)
downloadsamba-d5693d99b83c9f10d13f279505139a3bf5591b89.tar.gz
samba-d5693d99b83c9f10d13f279505139a3bf5591b89.tar.bz2
samba-d5693d99b83c9f10d13f279505139a3bf5591b89.zip
Fix Bug 9422 - large read requests cause server to issue malformed reply
Reviewed by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Nov 30 03:27:07 CET 2012 on sn-devel-104
-rw-r--r--libcli/smb/smb_seal.c2
-rw-r--r--source3/smbd/process.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/libcli/smb/smb_seal.c b/libcli/smb/smb_seal.c
index 78af733d00..f4f804c947 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 fd2c6a4b4a..eeda6f99f2 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) {