diff options
author | Stefan Metzmacher <metze@samba.org> | 2013-08-13 10:25:52 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2013-08-15 09:07:06 +0200 |
commit | 44b53937d59842a63e2cbfa92219f4f519530b0a (patch) | |
tree | 1df9a6f68350b724c5fa86d8eab01151466fac85 /libcli/smb/smb2cli_create.c | |
parent | 4a3352020db962ef40728d8a754da8a9418ca8a7 (diff) | |
download | samba-44b53937d59842a63e2cbfa92219f4f519530b0a.tar.gz samba-44b53937d59842a63e2cbfa92219f4f519530b0a.tar.bz2 samba-44b53937d59842a63e2cbfa92219f4f519530b0a.zip |
libcli/smb: pass max_dyn_len to smb2cli_req_send()
This way we can calculate the correct credit charge
for requests with large output buffers.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'libcli/smb/smb2cli_create.c')
-rw-r--r-- | libcli/smb/smb2cli_create.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libcli/smb/smb2cli_create.c b/libcli/smb/smb2cli_create.c index 020a4685cb..3f8d67250c 100644 --- a/libcli/smb/smb2cli_create.c +++ b/libcli/smb/smb2cli_create.c @@ -62,6 +62,7 @@ struct tevent_req *smb2cli_create_send( size_t blobs_offset; uint8_t *dyn; size_t dyn_len; + size_t max_dyn_len; req = tevent_req_create(mem_ctx, &state, struct smb2cli_create_state); @@ -129,13 +130,23 @@ struct tevent_req *smb2cli_create_send( data_blob_free(&blob); } + /* + * We use max_dyn_len = 0 + * as we don't explicitly ask for any output length. + * + * But it's still possible for the server to return + * large create blobs. + */ + max_dyn_len = 0; + subreq = smb2cli_req_send(state, ev, conn, SMB2_OP_CREATE, 0, 0, /* flags */ timeout_msec, tcon, session, state->fixed, sizeof(state->fixed), - dyn, dyn_len); + dyn, dyn_len, + max_dyn_len); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } |