summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-02-02 19:44:38 +0100
committerStephen Gallagher <sgallagh@redhat.com>2012-02-04 08:27:16 -0500
commit9264332df73311e2ed244b37b470cac74a784f4a (patch)
tree04ff51b22833366d0a8967b0f27583a9095c5a30
parent405a06682b3772b70bb06d3adba780a062959641 (diff)
downloadsssd-9264332df73311e2ed244b37b470cac74a784f4a.tar.gz
sssd-9264332df73311e2ed244b37b470cac74a784f4a.tar.xz
sssd-9264332df73311e2ed244b37b470cac74a784f4a.zip
NSS: Use sss_hash_create instead of destructor
-rw-r--r--src/responder/nss/nsssrv.c14
-rw-r--r--src/responder/nss/nsssrv_netgroup.c1
2 files changed, 2 insertions, 13 deletions
diff --git a/src/responder/nss/nsssrv.c b/src/responder/nss/nsssrv.c
index ab836938b..a85695b04 100644
--- a/src/responder/nss/nsssrv.c
+++ b/src/responder/nss/nsssrv.c
@@ -241,17 +241,6 @@ static void nss_dp_reconnect_init(struct sbus_connection *conn,
/* nss_shutdown(rctx); */
}
-static int nss_ctx_destructor(void *memctx)
-{
- struct nss_ctx *nctx = (struct nss_ctx *) memctx;
-
- if (nctx->netgroups) {
- hash_destroy(nctx->netgroups);
- nctx->netgroups = NULL;
- }
- return 0;
-}
-
int nss_process_init(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct confdb_ctx *cdb)
@@ -267,7 +256,6 @@ int nss_process_init(TALLOC_CTX *mem_ctx,
DEBUG(0, ("fatal error initializing nss_ctx\n"));
return ENOMEM;
}
- talloc_set_destructor((TALLOC_CTX *) nctx, nss_ctx_destructor);
ret = sss_ncache_init(nctx, &nctx->ncache);
if (ret != EOK) {
@@ -313,7 +301,7 @@ int nss_process_init(TALLOC_CTX *mem_ctx,
}
/* Create the lookup table for netgroup results */
- hret = hash_create(10, &nctx->netgroups, NULL, NULL);
+ hret = sss_hash_create(nctx, 10, &nctx->netgroups);
if (hret != HASH_SUCCESS) {
DEBUG(0,("Unable to initialize netgroup hash table\n"));
return EIO;
diff --git a/src/responder/nss/nsssrv_netgroup.c b/src/responder/nss/nsssrv_netgroup.c
index 093329fa3..02b88c7b5 100644
--- a/src/responder/nss/nsssrv_netgroup.c
+++ b/src/responder/nss/nsssrv_netgroup.c
@@ -78,6 +78,7 @@ static errno_t set_netgroup_entry(struct nss_ctx *nctx,
DEBUG(4, ("Hash error [%d][%s]", hret, hash_error_string(hret)));
return EIO;
}
+ talloc_steal(nctx->netgroups, netgr);
talloc_set_destructor((TALLOC_CTX *) netgr, netgr_hash_remove);
return EOK;