From: Witold Kręcicki Date: Thu, 16 Jan 2020 10:53:31 +0000 (+0100) Subject: cleanup properly if we fail to initialize ns_client structure X-Git-Tag: v9.16.0~60^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dcc0835a3af2774128674fd4de25461609223d9c;p=thirdparty%2Fbind9.git cleanup properly if we fail to initialize ns_client structure If taskmgr is shutting down ns_client_setup will fail to create a task for the newly created client, we weren't cleaning up already created/attached things (memory context, server, clientmgr). --- diff --git a/lib/ns/client.c b/lib/ns/client.c index ad99883a23e..9ef8afa0944 100644 --- a/lib/ns/client.c +++ b/lib/ns/client.c @@ -2333,6 +2333,16 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { isc_task_detach(&client->task); } + if (client->manager != NULL) { + clientmgr_detach(&client->manager); + } + if (client->mctx != NULL) { + isc_mem_detach(&client->mctx); + } + if (client->sctx != NULL) { + ns_server_detach(&client->sctx); + } + return (result); }