diff options
author | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-06-12 11:39:25 +0200 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-06-12 16:45:48 +0200 |
commit | 4a8ee9a333ef2b9d0f0cc39c5debf9344cff1f83 (patch) | |
tree | 54d8acc63fa16c7281132e694465b2d8aa7be14a /source4/rpc_server/samr | |
parent | 4659b3c4fd0e9ae7108e9fc4d613682f9f0a098a (diff) | |
download | samba-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.c | 10 |
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]; |