From 3394bbf45dd219dc0293809fe2c50ad3ab7cede6 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 27 Jan 2012 13:53:34 +1100 Subject: [PATCH] s3-libsmb Do not limit read replies to NBT packet sizes With the posix extensions, we can read 16MB at a time, so we need to check the full size of the packet, not the size rounded down to the old NBT limit. Andrew Bartlett Fix bug #8727 (smbclient fails with posix large reads). --- source3/libsmb/clireadwrite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c index 53ecacc1093..724c846e840 100644 --- a/source3/libsmb/clireadwrite.c +++ b/source3/libsmb/clireadwrite.c @@ -199,7 +199,7 @@ static void cli_read_andx_done(struct tevent_req *subreq) inbuf = cli_smb_inbuf(subreq); state->buf = (uint8_t *)smb_base(inbuf) + SVAL(vwv+6, 0); - if (trans_oob(smb_len(inbuf), SVAL(vwv+6, 0), state->received) + if (trans_oob(smb_len_large(inbuf), SVAL(vwv+6, 0), state->received) || ((state->received != 0) && (state->buf < bytes))) { DEBUG(5, ("server returned invalid read&x data offset\n")); tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE); -- 2.11.4.GIT