summaryrefslogtreecommitdiff
path: root/source4/rpc_server/samr
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-12 11:39:25 +0200
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-12 16:45:48 +0200
commit4a8ee9a333ef2b9d0f0cc39c5debf9344cff1f83 (patch)
tree54d8acc63fa16c7281132e694465b2d8aa7be14a /source4/rpc_server/samr
parent4659b3c4fd0e9ae7108e9fc4d613682f9f0a098a (diff)
downloadsamba-4a8ee9a333ef2b9d0f0cc39c5debf9344cff1f83.tar.gz
samba-4a8ee9a333ef2b9d0f0cc39c5debf9344cff1f83.tar.bz2
samba-4a8ee9a333ef2b9d0f0cc39c5debf9344cff1f83.zip
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)!
Diffstat (limited to 'source4/rpc_server/samr')
-rw-r--r--source4/rpc_server/samr/dcesrv_samr.c10
1 files 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];