summaryrefslogtreecommitdiff
path: root/source3/groupdb/mapping_tdb.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-06-08 19:43:01 +0200
committerVolker Lendecke <vl@samba.org>2009-06-08 21:14:10 +0200
commita51e6ce43cbc576a1352b0eccdab2f5c7f1bc2c2 (patch)
tree5a0c92a72764d1724d2ee23c94df7271c8e54598 /source3/groupdb/mapping_tdb.c
parent5ea88420da78589b3d52addcd8cce119968f0f73 (diff)
downloadsamba-a51e6ce43cbc576a1352b0eccdab2f5c7f1bc2c2.tar.gz
samba-a51e6ce43cbc576a1352b0eccdab2f5c7f1bc2c2.tar.bz2
samba-a51e6ce43cbc576a1352b0eccdab2f5c7f1bc2c2.zip
Pass a talloc_ctx to pdb_enum_aliasmem
Diffstat (limited to 'source3/groupdb/mapping_tdb.c')
-rw-r--r--source3/groupdb/mapping_tdb.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/source3/groupdb/mapping_tdb.c b/source3/groupdb/mapping_tdb.c
index 29927eb592..8498f0c821 100644
--- a/source3/groupdb/mapping_tdb.c
+++ b/source3/groupdb/mapping_tdb.c
@@ -535,6 +535,7 @@ static NTSTATUS add_aliasmem(const DOM_SID *alias, const DOM_SID *member)
}
struct aliasmem_state {
+ TALLOC_CTX *mem_ctx;
const DOM_SID *alias;
DOM_SID **sids;
size_t *num;
@@ -580,7 +581,7 @@ static int collect_aliasmem(struct db_record *rec, void *priv)
if (!string_to_sid(&member, member_string))
continue;
- if (!NT_STATUS_IS_OK(add_sid_to_array(NULL, &member,
+ if (!NT_STATUS_IS_OK(add_sid_to_array(state->mem_ctx, &member,
state->sids,
state->num)))
{
@@ -593,7 +594,8 @@ static int collect_aliasmem(struct db_record *rec, void *priv)
return 0;
}
-static NTSTATUS enum_aliasmem(const DOM_SID *alias, DOM_SID **sids, size_t *num)
+static NTSTATUS enum_aliasmem(const DOM_SID *alias, TALLOC_CTX *mem_ctx,
+ DOM_SID **sids, size_t *num)
{
GROUP_MAP map;
struct aliasmem_state state;
@@ -611,6 +613,7 @@ static NTSTATUS enum_aliasmem(const DOM_SID *alias, DOM_SID **sids, size_t *num)
state.alias = alias;
state.sids = sids;
state.num = num;
+ state.mem_ctx = mem_ctx;
db->traverse_read(db, collect_aliasmem, &state);
return NT_STATUS_OK;