diff options
-rw-r--r-- | librpc/idl/lsa.idl | 2 | ||||
-rw-r--r-- | source3/rpc_server/lsa/srv_lsa_nt.c | 5 | ||||
-rw-r--r-- | source4/rpc_server/lsa/dcesrv_lsa.c | 7 |
3 files changed, 11 insertions, 3 deletions
diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl index c65070e832..d8f2649f83 100644 --- a/librpc/idl/lsa.idl +++ b/librpc/idl/lsa.idl @@ -1052,7 +1052,7 @@ import "misc.idl", "security.idl"; NTSTATUS lsa_CreateTrustedDomainEx( [in] policy_handle *policy_handle, [in] lsa_TrustDomainInfoInfoEx *info, - [in] lsa_TrustDomainInfoAuthInfoInternal *auth_info, + [in] lsa_TrustDomainInfoAuthInfo *auth_info, [in] lsa_TrustedAccessMask access_mask, [out] policy_handle *trustdom_handle ); diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c index 8244b3ad6f..2342a0e8aa 100644 --- a/source3/rpc_server/lsa/srv_lsa_nt.c +++ b/source3/rpc_server/lsa/srv_lsa_nt.c @@ -1818,10 +1818,13 @@ NTSTATUS _lsa_CreateTrustedDomainEx(struct pipes_struct *p, struct lsa_CreateTrustedDomainEx *r) { struct lsa_CreateTrustedDomainEx2 q; + struct lsa_TrustDomainInfoAuthInfoInternal auth_info; + + ZERO_STRUCT(auth_info); q.in.policy_handle = r->in.policy_handle; q.in.info = r->in.info; - q.in.auth_info_internal = r->in.auth_info; + q.in.auth_info_internal = &auth_info; q.in.access_mask = r->in.access_mask; q.out.trustdom_handle = r->out.trustdom_handle; diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c index c1d7389ac6..c690894f85 100644 --- a/source4/rpc_server/lsa/dcesrv_lsa.c +++ b/source4/rpc_server/lsa/dcesrv_lsa.c @@ -1139,7 +1139,12 @@ static NTSTATUS dcesrv_lsa_CreateTrustedDomainEx(struct dcesrv_call_state *dce_c r2.in.policy_handle = r->in.policy_handle; r2.in.info = r->in.info; - r2.in.auth_info_internal = r->in.auth_info; + + r2.in.auth_info_internal = talloc_zero(mem_ctx, struct lsa_TrustDomainInfoAuthInfoInternal); + if (!r2.in.auth_info_internal) { + return NT_STATUS_NO_MEMORY; + } + r2.out.trustdom_handle = r->out.trustdom_handle; return dcesrv_lsa_CreateTrustedDomain_base(dce_call, mem_ctx, &r2, NDR_LSA_CREATETRUSTEDDOMAINEX); } |