Fix bug reported by David Eisner <deisner@gmail.com>. When allocating cli
authorJeremy Allison <jra@samba.org>
Tue, 3 Jun 2008 01:37:16 +0000 (18:37 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 3 Jun 2008 01:37:16 +0000 (18:37 -0700)
buffers for large read/write - make sure we take account of the large
read/write SMB headers as well as the buffer space.
Jeremy.
(This used to be commit 19519bca9b64b736d2fe0447b7cd495f00dba60a)

source3/libsmb/cliconnect.c

index 134c3c8a1d6ef2a5ae2d6d9452ce9fc191b52f22..4285753e20595813308f3e22740bddaae666ce7b 100644 (file)
@@ -1353,9 +1353,9 @@ bool cli_negprot(struct cli_state *cli)
                if (cli->capabilities & (CAP_LARGE_READX|CAP_LARGE_WRITEX)) {
                        SAFE_FREE(cli->outbuf);
                        SAFE_FREE(cli->inbuf);
-                       cli->outbuf = (char *)SMB_MALLOC(CLI_SAMBA_MAX_LARGE_READX_SIZE+SAFETY_MARGIN);
-                       cli->inbuf = (char *)SMB_MALLOC(CLI_SAMBA_MAX_LARGE_READX_SIZE+SAFETY_MARGIN);
-                       cli->bufsize = CLI_SAMBA_MAX_LARGE_READX_SIZE;
+                       cli->outbuf = (char *)SMB_MALLOC(CLI_SAMBA_MAX_LARGE_READX_SIZE+LARGE_WRITEX_HDR_SIZE+SAFETY_MARGIN);
+                       cli->inbuf = (char *)SMB_MALLOC(CLI_SAMBA_MAX_LARGE_READX_SIZE+LARGE_WRITEX_HDR_SIZE+SAFETY_MARGIN);
+                       cli->bufsize = CLI_SAMBA_MAX_LARGE_READX_SIZE + LARGE_WRITEX_HDR_SIZE;
                }
 
        } else if (cli->protocol >= PROTOCOL_LANMAN1) {