The branch, v3-6-test has been updated
       via  5ca1ff3 v3-6-test: Further fix for bug 8338
      from  8c4491c Fix bug #8807 - dcerpc_lsa_lookup_sids_noalloc() crashes 
when groups has more than 1000 groups

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 5ca1ff390843e2a0c217a3627297d7af4eadd50d
Author: Volker Lendecke <[email protected]>
Date:   Tue Sep 20 22:45:52 2011 +0200

    v3-6-test: Further fix for bug 8338
    
    OS/X can not deal with a 10-vwv read on normal files.
    
    Autobuild-User: Volker Lendecke <[email protected]>
    Autobuild-Date: Wed Sep 21 00:51:08 CEST 2011 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 source3/libsmb/clireadwrite.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 83531a5..a32f078 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -133,10 +133,17 @@ struct tevent_req *cli_read_andx_create(TALLOC_CTX 
*mem_ctx,
        SSVAL(state->vwv + 8, 0, 0);
        SSVAL(state->vwv + 9, 0, 0);
 
-       if ((uint64_t)offset >> 32) {
+       if (cli->capabilities & CAP_LARGE_FILES) {
                SIVAL(state->vwv + 10, 0,
                      (((uint64_t)offset)>>32) & 0xffffffff);
-               wct += 2;
+               wct = 12;
+       } else {
+               if ((((uint64_t)offset) & 0xffffffff00000000LL) != 0) {
+                       DEBUG(10, ("cli_read_andx_send got large offset where "
+                                  "the server does not support it\n"));
+                       tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
+                       return tevent_req_post(req, ev);
+               }
        }
 
        subreq = cli_smb_req_create(state, ev, cli, SMBreadX, 0, wct,


-- 
Samba Shared Repository

Reply via email to