summaryrefslogtreecommitdiff
path: root/source4/rpc_server/lsa/dcesrv_lsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/rpc_server/lsa/dcesrv_lsa.c')
-rw-r--r--source4/rpc_server/lsa/dcesrv_lsa.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c
index 02ff0dad33..b5f3768fcf 100644
--- a/source4/rpc_server/lsa/dcesrv_lsa.c
+++ b/source4/rpc_server/lsa/dcesrv_lsa.c
@@ -4114,7 +4114,7 @@ static NTSTATUS check_ft_info(TALLOC_CTX *mem_ctx,
const char *tname;
size_t dns_len;
size_t tlen;
- NTSTATUS nt_status;
+ NTSTATUS nt_status = NT_STATUS_OK;
uint32_t new_fti_idx;
uint32_t i;
/* use always TDO type, until we understand when Xref can be used */
@@ -4219,22 +4219,32 @@ static NTSTATUS check_ft_info(TALLOC_CTX *mem_ctx,
collision_type,
LSA_TLN_DISABLED_CONFLICT,
tdo_name);
+ if (!NT_STATUS_IS_OK(nt_status)) {
+ goto done;
+ }
}
if (sid_conflict) {
nt_status = add_collision(c_info, new_fti_idx,
collision_type,
LSA_SID_DISABLED_CONFLICT,
tdo_name);
+ if (!NT_STATUS_IS_OK(nt_status)) {
+ goto done;
+ }
}
if (nb_conflict) {
nt_status = add_collision(c_info, new_fti_idx,
collision_type,
LSA_NB_DISABLED_CONFLICT,
tdo_name);
+ if (!NT_STATUS_IS_OK(nt_status)) {
+ goto done;
+ }
}
}
- return NT_STATUS_OK;
+done:
+ return nt_status;
}
static NTSTATUS add_collision(struct lsa_ForestTrustCollisionInfo *c_info,