summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/cli_lsarpc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source3/libsmb/cli_lsarpc.c b/source3/libsmb/cli_lsarpc.c
index 61afeb7f38..4f015f20f0 100644
--- a/source3/libsmb/cli_lsarpc.c
+++ b/source3/libsmb/cli_lsarpc.c
@@ -268,15 +268,19 @@ uint32 cli_lsa_lookup_sids(struct cli_state *cli, TALLOC_CTX *mem_ctx,
/* Translate optimised name through domain index array */
if (dom_idx != 0xffffffff) {
- pull_ascii_fstring(dom_name, &ref.ref_dom[dom_idx].uni_dom_name);
- pull_ascii_fstring(name, &t_names.uni_name[i]);
+
+ rpcstr_pull_unistr2_fstring(
+ dom_name, &ref.ref_dom[dom_idx].uni_dom_name);
+ rpcstr_pull_unistr2_fstring(
+ name, &t_names.uni_name[i]);
slprintf(full_name, sizeof(full_name) - 1,
"%s%s%s", dom_name, dom_name[0] ?
- "\\" : "", name);
+ lp_winbind_separator() : "", name);
(*names)[i] = talloc_strdup(mem_ctx, full_name);
(*types)[i] = t_names.name[i].sid_name_use;
+
} else {
(*names)[i] = NULL;
(*types)[i] = SID_NAME_UNKNOWN;