From 3f8778890e1a62d251f7069ead981d088c014b16 Mon Sep 17 00:00:00 2001 From: sbose Date: Mon, 11 Feb 2013 15:39:22 +0100 Subject: ipa-kdb: Free talloc autofree context when module is closed Currently kdb5kdc crashes on exit if the ipadb KDB modules is loaded and trusts are configured. The reason is the talloc autofree context which get initialised during the ndr_push_union_blob() call. On exit the KDC module is unloaded an later on atexit() tries to free the context, but all related symbols are already unloaded with the module. This patch frees the talloc autofree context during the cleanup routine of the module. Since this is called only at exit and not during normal operations this is safe even if other KDC plugins use the talloc autofree context, e.g. via some Samba libraries, as well. Fixes https://fedorahosted.org/freeipa/ticket/3410 --- daemons/ipa-kdb/ipa_kdb.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'daemons') diff --git a/daemons/ipa-kdb/ipa_kdb.c b/daemons/ipa-kdb/ipa_kdb.c index 55a932abd..2a344dc69 100644 --- a/daemons/ipa-kdb/ipa_kdb.c +++ b/daemons/ipa-kdb/ipa_kdb.c @@ -20,6 +20,8 @@ * along with this program. If not, see . */ +#include + #include "ipa_kdb.h" struct ipadb_context *ipadb_get_context(krb5_context kcontext) @@ -456,6 +458,7 @@ static krb5_error_code ipadb_fini_module(krb5_context kcontext) ipactx = ipadb_get_context(kcontext); ipadb_context_free(kcontext, &ipactx); + talloc_free(talloc_autofree_context()); return 0; } -- cgit