From 4a8ee9a333ef2b9d0f0cc39c5debf9344cff1f83 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Sat, 12 Jun 2010 11:39:25 +0200 Subject: s4:dcesrv_samr_EnumDomainGroups/Aliases - when we don't get a SID then the database is corrupted Group/User/Alias entries do always have a SID (it's a mandatory attribute in the SAM directory)! --- source4/rpc_server/samr/dcesrv_samr.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c index b17c6cd922..78206d856f 100644 --- a/source4/rpc_server/samr/dcesrv_samr.c +++ b/source4/rpc_server/samr/dcesrv_samr.c @@ -1112,8 +1112,9 @@ static NTSTATUS dcesrv_samr_EnumDomainGroups(struct dcesrv_call_state *dce_call, group_sid = samdb_result_dom_sid(mem_ctx, res[i], "objectSid"); - if (group_sid == NULL) - continue; + if (group_sid == NULL) { + return NT_STATUS_INTERNAL_DB_CORRUPTION; + } entries[count].idx = group_sid->sub_auths[group_sid->num_auths-1]; @@ -1467,8 +1468,9 @@ static NTSTATUS dcesrv_samr_EnumDomainAliases(struct dcesrv_call_state *dce_call alias_sid = samdb_result_dom_sid(mem_ctx, res[i], "objectSid"); - if (alias_sid == NULL) - continue; + if (alias_sid == NULL) { + return NT_STATUS_INTERNAL_DB_CORRUPTION; + } entries[count].idx = alias_sid->sub_auths[alias_sid->num_auths-1]; -- cgit