diff options
-rw-r--r-- | source3/libsmb/cli_lsarpc.c | 10 |
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; |