diff options
Diffstat (limited to 'source4/torture/rpc/lsa_lookup.c')
-rw-r--r-- | source4/torture/rpc/lsa_lookup.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source4/torture/rpc/lsa_lookup.c b/source4/torture/rpc/lsa_lookup.c index 9c817a7061..0124ce1741 100644 --- a/source4/torture/rpc/lsa_lookup.c +++ b/source4/torture/rpc/lsa_lookup.c @@ -66,15 +66,17 @@ static bool get_domainsid(TALLOC_CTX *mem_ctx, struct dcerpc_pipe *p, struct dom_sid **sid) { struct lsa_QueryInfoPolicy r; + union lsa_PolicyInformation *info = NULL; NTSTATUS status; r.in.level = LSA_POLICY_INFO_DOMAIN; r.in.handle = handle; + r.out.info = &info; status = dcerpc_lsa_QueryInfoPolicy(p, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) return false; - *sid = r.out.info->domain.sid; + *sid = info->domain.sid; return true; } @@ -192,6 +194,7 @@ static bool get_downleveltrust(struct torture_context *tctx, struct dcerpc_pipe for (i=0; i<domains.count; i++) { struct lsa_QueryTrustedDomainInfoBySid q; + union lsa_TrustedDomainInfo *info = NULL; if (domains.domains[i].sid == NULL) continue; @@ -199,11 +202,13 @@ static bool get_downleveltrust(struct torture_context *tctx, struct dcerpc_pipe q.in.handle = handle; q.in.dom_sid = domains.domains[i].sid; q.in.level = 6; + q.out.info = &info; + status = dcerpc_lsa_QueryTrustedDomainInfoBySid(p, tctx, &q); if (!NT_STATUS_IS_OK(status)) continue; - if ((q.out.info->info_ex.trust_direction & 2) && - (q.out.info->info_ex.trust_type == 1)) { + if ((info->info_ex.trust_direction & 2) && + (info->info_ex.trust_type == 1)) { *sid = domains.domains[i].sid; return true; } |