summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/reply.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index d2aa6c6929..d4f3f1f255 100644
--- a/source3/smbd/reply.c
+++ b/source3/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) {