libnetjoin: correctly copy returned lsa policy sid.
authorGünther Deschner <gd@samba.org>
Wed, 4 Jun 2008 16:05:15 +0000 (18:05 +0200)
committerGünther Deschner <gd@samba.org>
Thu, 5 Jun 2008 08:19:04 +0000 (10:19 +0200)
Guenther

source/libnet/libnet_join.c

index 1efca541f03e9574fcde1c6495668f269da32c4a..a69cceaef89fa1caf22ac7583c5291739272291a 100644 (file)
@@ -689,7 +689,8 @@ static NTSTATUS libnet_join_lookup_dc_rpc(TALLOC_CTX *mem_ctx,
                r->out.domain_is_ad = true;
                r->out.netbios_domain_name = info->dns.name.string;
                r->out.dns_domain_name = info->dns.dns_domain.string;
-               r->out.domain_sid = info->dns.sid;
+               r->out.domain_sid = sid_dup_talloc(mem_ctx, info->dns.sid);
+               NT_STATUS_HAVE_NO_MEMORY(r->out.domain_sid);
        }
 
        if (!NT_STATUS_IS_OK(status)) {
@@ -702,7 +703,8 @@ static NTSTATUS libnet_join_lookup_dc_rpc(TALLOC_CTX *mem_ctx,
                }
 
                r->out.netbios_domain_name = info->account_domain.name.string;
-               r->out.domain_sid = info->account_domain.sid;
+               r->out.domain_sid = sid_dup_talloc(mem_ctx, info->account_domain.sid);
+               NT_STATUS_HAVE_NO_MEMORY(r->out.domain_sid);
        }
 
        rpccli_lsa_Close(pipe_hnd, mem_ctx, &lsa_pol);