diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-11-18 08:40:18 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2011-11-25 20:25:51 +0100 |
commit | 10f45157037edc528926ae7dc4a40909566c6480 (patch) | |
tree | 90a7f4604972db974fcaef39ebeb2d6b9eefcb58 | |
parent | a64f88f4e97f0f9c006fe6f0cefc0a61efc1ca98 (diff) | |
download | samba-10f45157037edc528926ae7dc4a40909566c6480.tar.gz samba-10f45157037edc528926ae7dc4a40909566c6480.tar.xz samba-10f45157037edc528926ae7dc4a40909566c6480.zip |
s3:libsmb: only align unicode pipe_name (bug #8586)
metze
(cherry picked from commit 48bcb8c846532ccd5489ef705182fb81c5278b04)
-rw-r--r-- | source3/libsmb/clitrans.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c index 2f2801ec3f4..844ad2b9c2c 100644 --- a/source3/libsmb/clitrans.c +++ b/source3/libsmb/clitrans.c @@ -208,14 +208,18 @@ static void cli_trans_format(struct cli_trans_state *state, uint8_t *pwct, switch (cmd) { case SMBtrans: - pad[0] = 0; - iov[0].iov_base = (void *)pad; - iov[0].iov_len = 1; - iov[1].iov_base = (void *)state->pipe_name_conv; - iov[1].iov_len = state->pipe_name_conv_len; + if (cli_ucs2(state->cli)) { + pad[0] = 0; + iov[0].iov_base = (void *)pad; + iov[0].iov_len = 1; + param_offset += 1; + iov += 1; + } + iov[0].iov_base = (void *)state->pipe_name_conv; + iov[0].iov_len = state->pipe_name_conv_len; wct = 14 + state->num_setup; - param_offset += iov[0].iov_len + iov[1].iov_len; - iov += 2; + param_offset += iov[0].iov_len; + iov += 1; break; case SMBtrans2: pad[0] = 0; |