[Freeipa-devel] [PATCH] [dyndb] Fix error handling in configure_view() to prevent deadlocks
Tomas Hozza
thozza at redhat.com
Wed Sep 17 18:04:20 UTC 2014
On Tue 16 Sep 2014 07:32:39 PM CEST, Petr Spacek wrote:
> Hello,
>
> attached patches fix
> https://bugzilla.redhat.com/show_bug.cgi?id=1142150
> https://bugzilla.redhat.com/show_bug.cgi?id=1142152
>
> ... and improve related error messages.
>
> I will push it to https://github.com/spacekpe/bind-dynamic_db if you are okay
> with it.
>
I think there is a mistake in the first patch:
0001-Fix-error-handling-in-configure_view-to-prevent-dead.patch
diff --git a/lib/dns/dynamic_db.c b/lib/dns/dynamic_db.c
index
bf831617b391778ec540b2a5ca0df341937f2427..30c56a65c7227497c3e772c3e1b58ff49eacbd35
100644
--- a/lib/dns/dynamic_db.c
+++ b/lib/dns/dynamic_db.c
@@ -280,16 +280,24 @@ dns_dyndb_arguments_create(isc_mem_t *mctx)
}
void
-dns_dyndb_arguments_destroy(isc_mem_t *mctx, dns_dyndb_arguments_t
*args)
+dns_dyndb_arguments_destroy(isc_mem_t *mctx, dns_dyndb_arguments_t
**argsp)
{
+ dns_dyndb_arguments_t *args;
+
REQUIRE(args != NULL);
^^^^ args is not initialized here. I think it should be "argsp"
+ args = *argsp;
+ if (args == NULL)
+ return;
+
dns_dyndb_set_view(args, NULL);
dns_dyndb_set_zonemgr(args, NULL);
dns_dyndb_set_task(args, NULL);
dns_dyndb_set_timermgr(args, NULL);
isc_mem_put(mctx, args, sizeof(*args));
+
+ *argsp = NULL;
}
Regards,
--
Tomas Hozza
Software Engineer - EMEA ENG Developer Experience
PGP: 1D9F3C2D
Red Hat Inc. http://cz.redhat.com
More information about the Freeipa-devel
mailing list