|
|
a727507 |
commit 33d27797d3ae9ab3ff7e1aa940941cc450f5ad1d
|
|
|
a727507 |
Author: Jeremy Allison <jra@samba.org>
|
|
|
a727507 |
AuthorDate: Wed Aug 19 15:33:08 2009 -0700
|
|
|
a727507 |
Commit: Jeremy Allison <jra@samba.org>
|
|
|
a727507 |
CommitDate: Wed Aug 19 15:33:08 2009 -0700
|
|
|
a727507 |
|
|
|
a727507 |
Fix Red Hat bugzilla bug : https://bugzilla.redhat.com/show_bug.cgi?id=516165
|
|
|
a727507 |
nautilus fails to copy files from an SMB share. This is a show-stopper
|
|
|
a727507 |
for 3.4.1 (I'll open a Samba.org bug). Although gnome-vfs is doing
|
|
|
a727507 |
*incredibly* stupid things by asking for a read size of 65535 - this
|
|
|
a727507 |
translates on the wire to a 65534 byte read followed by a 1 byte
|
|
|
a727507 |
read. Please send this back to the gnome developers that they
|
|
|
a727507 |
will ge horrid on the wire performance for this.
|
|
|
a727507 |
Jeremy.
|
|
|
a727507 |
---
|
|
|
a727507 |
source3/libsmb/clireadwrite.c | 2 +-
|
|
|
a727507 |
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
|
a727507 |
|
|
|
a727507 |
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
|
|
|
a727507 |
index d38de19..0d1f9e5 100644
|
|
|
a727507 |
--- a/source3/libsmb/clireadwrite.c
|
|
|
a727507 |
+++ b/source3/libsmb/clireadwrite.c
|
|
|
a727507 |
@@ -200,7 +200,7 @@ static void cli_read_andx_done(struct tevent_req *subreq)
|
|
|
a727507 |
state->buf = (uint8_t *)smb_base(inbuf) + SVAL(vwv+6, 0);
|
|
|
a727507 |
|
|
|
a727507 |
if (trans_oob(smb_len(inbuf), SVAL(vwv+6, 0), state->received)
|
|
|
a727507 |
- || (state->buf < bytes)) {
|
|
|
a727507 |
+ || (state->received && (state->buf < bytes))) {
|
|
|
a727507 |
DEBUG(5, ("server returned invalid read&x data offset\n"));
|
|
|
a727507 |
tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE);
|
|
|
a727507 |
return;
|