r13119: Fix for #1779 from William Jojo <jojowil@hvcc.edu>
authorJeremy Allison <jra@samba.org>
Tue, 24 Jan 2006 20:15:08 +0000 (20:15 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:06:14 +0000 (11:06 -0500)
Jeremy.
(This used to be commit 103cac7dd314117b15e27fd263a64beeb36ed6e6)

source3/libsmb/clireadwrite.c

index 55e36b646b9a67d5b1bd7a4a8184c9747516f541..a080bd3c64d7208e7b3d78ce9f24f7bf5cdb3489 100644 (file)
@@ -49,8 +49,9 @@ static BOOL cli_issue_read(struct cli_state *cli, int fnum, off_t offset,
        SSVAL(cli->outbuf,smb_vwv7,((size >> 16) & 1));
        SSVAL(cli->outbuf,smb_mid,cli->mid + i);
 
-       if (bigoffset)
-               SIVAL(cli->outbuf,smb_vwv10,(offset>>32) & 0xffffffff);
+       if (bigoffset) {
+               SIVAL(cli->outbuf,smb_vwv10,(((SMB_BIG_UINT)offset)>>32) & 0xffffffff);
+       }
 
        return cli_send_smb(cli);
 }
@@ -302,8 +303,9 @@ static BOOL cli_issue_write(struct cli_state *cli, int fnum, off_t offset,
        SSVAL(cli->outbuf,smb_vwv11,
              smb_buf(cli->outbuf) - smb_base(cli->outbuf));
 
-       if (large_writex)
-               SIVAL(cli->outbuf,smb_vwv12,(offset>>32) & 0xffffffff);
+       if (large_writex) {
+               SIVAL(cli->outbuf,smb_vwv12,(((SMB_BIG_UINT)offset)>>32) & 0xffffffff);
+       }
        
        p = smb_base(cli->outbuf) + SVAL(cli->outbuf,smb_vwv11);
        memcpy(p, buf, size);