this patch should fix https://fedorahosted.org/freeipa/ticket/3410 . See
commit message for details.

From 4892c10b273119e20c536285663f1ded6b6ff3fe Mon Sep 17 00:00:00 2001
From: sbose <sbose@ipa18-devel.ipa18.devel>
Date: Mon, 11 Feb 2013 15:39:22 +0100
Subject: [PATCH] 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(+)

diff --git a/daemons/ipa-kdb/ipa_kdb.c b/daemons/ipa-kdb/ipa_kdb.c
--- 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 <http://www.gnu.org/licenses/>.
+#include <talloc.h>
 #include "ipa_kdb.h"
 struct ipadb_context *ipadb_get_context(krb5_context kcontext)
@@ -452,6 +454,7 @@ static krb5_error_code ipadb_fini_module(krb5_context 
     ipactx = ipadb_get_context(kcontext);
     ipadb_context_free(kcontext, &ipactx);
+    talloc_free(talloc_autofree_context());
     return 0;

Freeipa-devel mailing list

Reply via email to