1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-02 00:22:11 +03:00

fixed support for readx greater than 64k

This fixes bug 6547, where smbclient in S3 reads more than 64k at a
time with readx.
This commit is contained in:
Andrew Tridgell
2009-08-04 16:01:11 +10:00
parent 3641978dfa
commit ff388611f4
2 changed files with 4 additions and 3 deletions

View File

@ -59,8 +59,8 @@ NTSTATUS pvfs_read(struct ntvfs_module_context *ntvfs,
}
maxcnt = rd->readx.in.maxcnt;
if (maxcnt > UINT16_MAX && req->ctx->protocol < PROTOCOL_SMB2) {
maxcnt = 0;
if (maxcnt > 2*UINT16_MAX && req->ctx->protocol < PROTOCOL_SMB2) {
return NT_STATUS_INVALID_PARAMETER;
}
status = pvfs_check_lock(pvfs, f, req->smbpid,

View File

@ -831,7 +831,8 @@ static void reply_read_and_X_send(struct ntvfs_request *ntvfs)
SMBSRV_VWV_RESERVED(4, 1);
SSVAL(req->out.vwv, VWV(5), io->readx.out.nread);
SSVAL(req->out.vwv, VWV(6), PTR_DIFF(io->readx.out.data, req->out.hdr));
SMBSRV_VWV_RESERVED(7, 5);
SSVAL(req->out.vwv, VWV(7), (io->readx.out.nread>>16));
SMBSRV_VWV_RESERVED(8, 4);
smbsrv_chain_reply(req);
}