summaryrefslogtreecommitdiffstats
path: root/source/smbd/reply.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-11-01 21:51:45 -0700
committerJeremy Allison <jra@samba.org>2007-11-01 21:51:45 -0700
commit1c71546b6152d2930b98f766311bbd161ee0ee4e (patch)
treeef0fbebcb47776f87c9750d26ffa075e7372434f /source/smbd/reply.c
parent779353b86d1699324149896f1ffa237c6ebe46ec (diff)
downloadsamba-1c71546b6152d2930b98f766311bbd161ee0ee4e.tar.gz
samba-1c71546b6152d2930b98f766311bbd161ee0ee4e.tar.xz
samba-1c71546b6152d2930b98f766311bbd161ee0ee4e.zip
Ensure we detect a large writeX when using recvfile.
More changes needed to make the UNIX_LARGE_WRITEX_CAP writes work (I'll add these tomorrow). Jeremy.
Diffstat (limited to 'source/smbd/reply.c')
-rw-r--r--source/smbd/reply.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/smbd/reply.c b/source/smbd/reply.c
index d2aa6c69299..d4f3f1f2559 100644
--- a/source/smbd/reply.c
+++ b/source/smbd/reply.c
@@ -3926,7 +3926,8 @@ void reply_write_and_X(connection_struct *conn, struct smb_request *req)
numtowrite = SVAL(req->inbuf,smb_vwv10);
smb_doff = SVAL(req->inbuf,smb_vwv11);
smblen = smb_len(req->inbuf);
- large_writeX = ((req->wct == 14) && (smblen > 0xFFFF));
+ large_writeX = (req->wct == 14 &&
+ (smblen > 0xFFFF || req->unread_bytes > 0xFFFF));
/* Deal with possible LARGE_WRITEX */
if (large_writeX) {