From 8c367162f09c7772091a80d8426de6bead0c030d Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 6 Feb 2011 10:15:50 +0100 Subject: s3: In pdb_ads, cope with artificial samu structs --- source3/passdb/pdb_ads.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source3/passdb/pdb_ads.c b/source3/passdb/pdb_ads.c index 7a299e5854..68ce2b469c 100644 --- a/source3/passdb/pdb_ads.c +++ b/source3/passdb/pdb_ads.c @@ -974,8 +974,7 @@ static NTSTATUS pdb_ads_enum_group_memberships(struct pdb_methods *m, { struct pdb_ads_state *state = talloc_get_type_abort( m->private_data, struct pdb_ads_state); - struct pdb_ads_samu_private *priv = pdb_ads_get_samu_private( - m, user); + struct pdb_ads_samu_private *priv; const char *attrs[1] = { "objectSid" }; struct tldap_message **groups; int i, rc, count; @@ -983,6 +982,15 @@ static NTSTATUS pdb_ads_enum_group_memberships(struct pdb_methods *m, struct dom_sid *group_sids; gid_t *gids; + priv = pdb_ads_get_samu_private(m, user); + if (priv == NULL) { + DEBUG(10, ("Could not get pdb_ads_samu_private\n")); + *pp_sids = NULL; + *pp_gids = NULL; + *p_num_groups = 0; + return NT_STATUS_OK; + } + rc = pdb_ads_search_fmt( state, state->domaindn, TLDAP_SCOPE_SUB, attrs, ARRAY_SIZE(attrs), 0, talloc_tos(), &groups, -- cgit