]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
isc_refcount_init() now doesn't return isc_result_t and asserts on failed initialization
authorOndřej Surý <ondrej@sury.org>
Wed, 1 Aug 2018 09:46:11 +0000 (11:46 +0200)
committerOndřej Surý <ondrej@sury.org>
Tue, 28 Aug 2018 10:15:39 +0000 (12:15 +0200)
24 files changed:
bin/tests/system/dyndb/driver/db.c
lib/dns/acl.c
lib/dns/catz.c
lib/dns/dnstap.c
lib/dns/dst_api.c
lib/dns/keytable.c
lib/dns/nta.c
lib/dns/order.c
lib/dns/portlist.c
lib/dns/rbtdb.c
lib/dns/rpz.c
lib/dns/tsig.c
lib/dns/view.c
lib/dns/zone.c
lib/isc/Makefile.in
lib/isc/include/isc/refcount.h
lib/isc/refcount.c [deleted file]
lib/isc/win32/libisc.def.in
lib/isc/win32/libisc.vcxproj.filters.in
lib/isc/win32/libisc.vcxproj.in
lib/isccfg/aclconf.c
lib/isccfg/parser.c
lib/ns/server.c
util/copyrights

index af1626037a7de0c306f4bd4fa92c22ee1bcddec5..e9bdf27a25cc77d6fbf4a6ab8d392e7dbcfb1eaa 100644 (file)
@@ -773,7 +773,7 @@ create_db(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
 
        CHECK(dns_name_dupwithoffsets(origin, mctx, &sampledb->common.origin));
 
-       CHECK(isc_refcount_init(&sampledb->refs, 1));
+       isc_refcount_init(&sampledb->refs, 1);
 
        /* Translate instance name to instance pointer. */
        sampledb->inst = driverarg;
index 4bdcf1c06c68688cde9d0215ff482e7ed2bc225c..f2f5532aaf97a46b6d83f7666782d8a042223d1c 100644 (file)
@@ -50,11 +50,7 @@ dns_acl_create(isc_mem_t *mctx, int n, dns_acl_t **target) {
 
        acl->name = NULL;
 
-       result = isc_refcount_init(&acl->refcount, 1);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(mctx, acl, sizeof(*acl));
-               return (result);
-       }
+       isc_refcount_init(&acl->refcount, 1);
 
        result = dns_iptable_create(mctx, &acl->iptable);
        if (result != ISC_R_SUCCESS) {
index 662497c64d296a7614e89bcc930611912334fd4c..d112284700fb819a2d29df660619d72f0581a7bd 100644 (file)
@@ -568,9 +568,7 @@ dns_catz_new_zones(dns_catz_zones_t **catzsp, dns_catz_zonemodmethods_t *zmm,
        if (result != ISC_R_SUCCESS)
                goto cleanup_newzones;
 
-       result = isc_refcount_init(&new_zones->refs, 1);
-       if (result != ISC_R_SUCCESS)
-               goto cleanup_mutex;
+       isc_refcount_init(&new_zones->refs, 1);
 
        result = isc_ht_init(&new_zones->zones, mctx, 4);
        if (result != ISC_R_SUCCESS)
@@ -592,7 +590,6 @@ dns_catz_new_zones(dns_catz_zones_t **catzsp, dns_catz_zonemodmethods_t *zmm,
        isc_ht_destroy(&new_zones->zones);
   cleanup_refcount:
        isc_refcount_destroy(&new_zones->refs);
-  cleanup_mutex:
        isc_mutex_destroy(&new_zones->lock);
   cleanup_newzones:
        isc_mem_put(mctx, new_zones, sizeof(*new_zones));
index 18c7a55657afe480209eec4cb4e3a6d2929e5710..2fdc43c2308abdebd76a5f85145bff4362585e9e 100644 (file)
@@ -214,7 +214,7 @@ dns_dt_create(isc_mem_t *mctx, dns_dtmode_t mode, const char *path,
 
        memset(env, 0, sizeof(dns_dtenv_t));
 
-       CHECK(isc_refcount_init(&env->refcount, 1));
+       isc_refcount_init(&env->refcount, 1);
        CHECK(isc_stats_create(mctx, &env->stats, dns_dnstapcounter_max));
        env->path = isc_mem_strdup(mctx, path);
        if (env->path == NULL)
index 7207d0cf537c7859d07dec61c80e87aaf1e263d3..e4b5220def5c278fb9514f60ce661c02cef087a4 100644 (file)
@@ -1354,13 +1354,7 @@ get_key_struct(const dns_name_t *name, unsigned int alg,
                return (NULL);
        }
 
-       result = isc_refcount_init(&key->refs, 1);
-       if (result != ISC_R_SUCCESS) {
-               dns_name_free(key->key_name, mctx);
-               isc_mem_put(mctx, key->key_name, sizeof(dns_name_t));
-               isc_mem_put(mctx, key, sizeof(dst_key_t));
-               return (NULL);
-       }
+       isc_refcount_init(&key->refs, 1);
        isc_mem_attach(mctx, &key->mctx);
        key->key_alg = alg;
        key->key_flags = flags;
index 464e05630138bc0a95fd239829fc961fc5b1386e..75cbf4e1f32647f57a130246dac54a60e0140f77 100644 (file)
@@ -89,15 +89,8 @@ dns_keytable_create(isc_mem_t *mctx, dns_keytable_t **keytablep) {
                goto cleanup_rbt;
        }
 
-       result = isc_refcount_init(&keytable->active_nodes, 0);
-       if (result != ISC_R_SUCCESS) {
-               goto cleanup_rwlock;
-       }
-
-       result = isc_refcount_init(&keytable->references, 1);
-       if (result != ISC_R_SUCCESS) {
-               goto cleanup_active_nodes;
-       }
+       isc_refcount_init(&keytable->active_nodes, 0);
+       isc_refcount_init(&keytable->references, 1);
 
        keytable->mctx = NULL;
        isc_mem_attach(mctx, &keytable->mctx);
@@ -106,12 +99,6 @@ dns_keytable_create(isc_mem_t *mctx, dns_keytable_t **keytablep) {
 
        return (ISC_R_SUCCESS);
 
- cleanup_active_nodes:
-       isc_refcount_destroy(&keytable->active_nodes);
-
- cleanup_rwlock:
-       isc_rwlock_destroy(&keytable->rwlock);
-
  cleanup_rbt:
        dns_rbt_destroy(&keytable->table);
 
@@ -798,7 +785,6 @@ dns_keynode_trust(dns_keynode_t *keynode) {
 
 isc_result_t
 dns_keynode_create(isc_mem_t *mctx, dns_keynode_t **target) {
-       isc_result_t result;
        dns_keynode_t *knode;
 
        REQUIRE(target != NULL && *target == NULL);
@@ -813,9 +799,7 @@ dns_keynode_create(isc_mem_t *mctx, dns_keynode_t **target) {
        knode->key = NULL;
        knode->next = NULL;
 
-       result = isc_refcount_init(&knode->refcount, 1);
-       if (result != ISC_R_SUCCESS)
-               return (result);
+       isc_refcount_init(&knode->refcount, 1);
 
        *target = knode;
        return (ISC_R_SUCCESS);
index f90a80a909b265e413ee62b19951d733be971e9f..b1299d5de5ef7338e9f0ac9d52b9c6fb75c11d9f 100644 (file)
@@ -308,7 +308,6 @@ static isc_result_t
 nta_create(dns_ntatable_t *ntatable, const dns_name_t *name,
           dns_nta_t **target)
 {
-       isc_result_t result;
        dns_nta_t *nta = NULL;
        dns_view_t *view;
 
@@ -328,11 +327,7 @@ nta_create(dns_ntatable_t *ntatable, const dns_name_t *name,
        dns_rdataset_init(&nta->rdataset);
        dns_rdataset_init(&nta->sigrdataset);
 
-       result = isc_refcount_init(&nta->refcount, 1);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(view->mctx, nta, sizeof(dns_nta_t));
-               return (result);
-       }
+       isc_refcount_init(&nta->refcount, 1);
 
        nta->name = dns_fixedname_initname(&nta->fn);
        dns_name_copy(name, nta->name, NULL);
index 1dfada03f534deebec37889908c4c695bef3c37b..f3fb3c51e9d889bb2d667fed2f9b309607b86763 100644 (file)
@@ -49,7 +49,6 @@ struct dns_order {
 isc_result_t
 dns_order_create(isc_mem_t *mctx, dns_order_t **orderp) {
        dns_order_t *order;
-       isc_result_t result;
 
        REQUIRE(orderp != NULL && *orderp == NULL);
 
@@ -60,11 +59,7 @@ dns_order_create(isc_mem_t *mctx, dns_order_t **orderp) {
        ISC_LIST_INIT(order->ents);
 
        /* Implicit attach. */
-       result = isc_refcount_init(&order->references, 1);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(mctx, order, sizeof(*order));
-               return (result);
-       }
+       isc_refcount_init(&order->references, 1);
 
        order->mctx = NULL;
        isc_mem_attach(mctx, &order->mctx);
index 7de71785bb0c74877d52a19037d5c6fab332a43c..0a31ea30c8bfdff024b6eb834ffaf608a488dee7 100644 (file)
@@ -80,12 +80,7 @@ dns_portlist_create(isc_mem_t *mctx, dns_portlist_t **portlistp) {
                isc_mem_put(mctx, portlist, sizeof(*portlist));
                return (result);
        }
-       result = isc_refcount_init(&portlist->refcount, 1);
-       if (result != ISC_R_SUCCESS) {
-               DESTROYLOCK(&portlist->lock);
-               isc_mem_put(mctx, portlist, sizeof(*portlist));
-               return (result);
-       }
+       isc_refcount_init(&portlist->refcount, 1);
        portlist->list = NULL;
        portlist->allocated = 0;
        portlist->active = 0;
index 20a8c518d6a7e37633c30462455acf18db3aa1ed..f622d448a3699847993469704192eb19175322cc 100644 (file)
@@ -1268,11 +1268,9 @@ allocate_version(isc_mem_t *mctx, rbtdb_serial_t serial,
        if (version == NULL)
                return (NULL);
        version->serial = serial;
-       result = isc_refcount_init(&version->references, references);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(mctx, version, sizeof(*version));
-               return (NULL);
-       }
+
+       isc_refcount_init(&version->references, references);
+
        result = isc_rwlock_init(&version->glue_rwlock, 0, 0);
        if (result != ISC_R_SUCCESS) {
                isc_refcount_destroy(&version->references);
@@ -8360,9 +8358,7 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
        for (i = 0; i < (int)(rbtdb->node_lock_count); i++) {
                result = NODE_INITLOCK(&rbtdb->node_locks[i].lock);
                if (result == ISC_R_SUCCESS) {
-                       result = isc_refcount_init(&rbtdb->node_locks[i].references, 0);
-                       if (result != ISC_R_SUCCESS)
-                               NODE_DESTROYLOCK(&rbtdb->node_locks[i].lock);
+                       isc_refcount_init(&rbtdb->node_locks[i].references, 0);
                }
                if (result != ISC_R_SUCCESS) {
                        while (i-- > 0) {
@@ -8471,11 +8467,7 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
        /*
         * Misc. Initialization.
         */
-       result = isc_refcount_init(&rbtdb->references, 1);
-       if (result != ISC_R_SUCCESS) {
-               free_rbtdb(rbtdb, false, NULL);
-               return (result);
-       }
+       isc_refcount_init(&rbtdb->references, 1);
        rbtdb->attributes = 0;
        rbtdb->task = NULL;
        rbtdb->serve_stale_ttl = 0;
index f5348b2f7b2815c4702a09c56a127e8ebf900303..e6afcbbf4af5f3139e5e585917252ddde81a6829 100644 (file)
@@ -1450,9 +1450,7 @@ dns_rpz_new_zones(dns_rpz_zones_t **rpzsp, char *rps_cstr,
        if (result != ISC_R_SUCCESS)
                goto cleanup_mutex;
 
-       result = isc_refcount_init(&zones->refs, 1);
-       if (result != ISC_R_SUCCESS)
-               goto cleanup_refcount;
+       isc_refcount_init(&zones->refs, 1);
 
        zones->rps_cstr = rps_cstr;
        zones->rps_cstr_size = rps_cstr_size;
@@ -1489,7 +1487,6 @@ cleanup_rbt:
        isc_refcount_decrement(&zones->refs, NULL);
        isc_refcount_destroy(&zones->refs);
 
-cleanup_refcount:
        DESTROYLOCK(&zones->maint_lock);
 
 cleanup_mutex:
@@ -1518,9 +1515,7 @@ dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t **rpzp) {
        }
 
        memset(zone, 0, sizeof(*zone));
-       result = isc_refcount_init(&zone->refs, 1);
-       if (result != ISC_R_SUCCESS)
-               goto cleanup_refcount;
+       isc_refcount_init(&zone->refs, 1);
 
        result = isc_timer_create(rpzs->timermgr, isc_timertype_inactive,
                                  NULL, NULL, rpzs->updater,
@@ -1575,7 +1570,6 @@ cleanup_timer:
        isc_refcount_decrement(&zone->refs, NULL);
        isc_refcount_destroy(&zone->refs);
 
-cleanup_refcount:
        isc_mem_put(zone->rpzs->mctx, zone, sizeof(*zone));
 
        return (result);
index e6518e2f518290ec7201987143802ad000324516..921ba942793ad24751fd0f75d2e77574be87d2cb 100644 (file)
@@ -331,9 +331,8 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm,
                refs = 1;
        if (ring != NULL)
                refs++;
-       ret = isc_refcount_init(&tkey->refs, refs);
-       if (ret != ISC_R_SUCCESS)
-               goto cleanup_creator;
+
+       isc_refcount_init(&tkey->refs, refs);
 
        tkey->generated = generated;
        tkey->inception = inception;
@@ -373,7 +372,7 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm,
        while (refs-- > 0)
                isc_refcount_decrement(&tkey->refs, NULL);
        isc_refcount_destroy(&tkey->refs);
- cleanup_creator:
+
        if (tkey->key != NULL)
                dst_key_free(&tkey->key);
        if (tkey->creator != NULL) {
index ea506249924d398d11f6b9d3ec1038ca2463ba13..e0fe3ca9557492404a06e471bf9091de0e680a5a 100644 (file)
@@ -154,9 +154,7 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
        view->rdclass = rdclass;
        view->frozen = false;
        view->task = NULL;
-       result = isc_refcount_init(&view->references, 1);
-       if (result != ISC_R_SUCCESS)
-               goto cleanup_fwdtable;
+       isc_refcount_init(&view->references, 1);
        view->weakrefs = 0;
        view->attributes = (DNS_VIEWATTR_RESSHUTDOWN|DNS_VIEWATTR_ADBSHUTDOWN|
                            DNS_VIEWATTR_REQSHUTDOWN);
@@ -316,7 +314,6 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
        isc_refcount_decrement(&view->references, NULL);
        isc_refcount_destroy(&view->references);
 
- cleanup_fwdtable:
        if (view->fwdtable != NULL)
                dns_fwdtable_destroy(&view->fwdtable);
 
index 9ac304249b7819e73037b1d350d65990d4285614..58eb45d2a163c0535d115c0c8cf6466d8e4730a8 100644 (file)
@@ -926,10 +926,7 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) {
        zone->db = NULL;
        zone->zmgr = NULL;
        ISC_LINK_INIT(zone, link);
-       result = isc_refcount_init(&zone->erefs, 1);    /* Implicit attach. */
-       if (result != ISC_R_SUCCESS) {
-               goto free_dblock;
-       }
+       isc_refcount_init(&zone->erefs, 1);     /* Implicit attach. */
        zone->irefs = 0;
        dns_name_init(&zone->origin, NULL);
        zone->strnamerd = NULL;
@@ -1100,7 +1097,6 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) {
        isc_refcount_decrement(&zone->erefs, NULL);
        isc_refcount_destroy(&zone->erefs);
 
- free_dblock:
        ZONEDB_DESTROYLOCK(&zone->dblock);
 
  free_mutex:
index 0e1d0d9e63f39757533ee9c440b9c41dc0b6607f..afec60314b1a002d2505434316c99754fc736121 100644 (file)
@@ -53,7 +53,7 @@ OBJS =                pk11.@O@ pk11_result.@O@ \
                md5.@O@ mem.@O@ mutexblock.@O@ \
                netaddr.@O@ netscope.@O@ nonce.@O@ openssl_shim.@O@ pool.@O@ \
                parseint.@O@ portset.@O@ quota.@O@ radix.@O@ random.@O@ \
-               ratelimiter.@O@ refcount.@O@ region.@O@ regex.@O@ result.@O@ \
+               ratelimiter.@O@ region.@O@ regex.@O@ result.@O@ \
                rwlock.@O@ \
                serial.@O@ sha1.@O@ sha2.@O@ sockaddr.@O@ stats.@O@ \
                string.@O@ symtab.@O@ task.@O@ taskpool.@O@ \
@@ -71,7 +71,7 @@ SRCS =                pk11.c pk11_result.c \
                md5.c mem.c mutexblock.c \
                netaddr.c netscope.c nonce.c openssl_shim.c pool.c \
                parseint.c portset.c quota.c radix.c random.c \
-               ratelimiter.c refcount.c region.c regex.c result.c rwlock.c \
+               ratelimiter.c region.c regex.c result.c rwlock.c \
                serial.c sha1.c sha2.c sockaddr.c stats.c string.c \
                symtab.c task.c taskpool.c timer.c \
                tm.c version.c
index b623dcb8d8c4a96432def843caa416977d1c3646..456220883740d4837a226c7782e4766672923beb 100644 (file)
@@ -37,7 +37,7 @@ ISC_LANG_BEGINDECLS
  */
 
 /*
- * isc_result_t
+ * void
  * isc_refcount_init(isc_refcount_t *ref, unsigned int n);
  *
  * Initialize the reference counter.  There will be 'n' initial references.
diff --git a/lib/isc/refcount.c b/lib/isc/refcount.c
deleted file mode 100644 (file)
index 0f9fc04..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * See the COPYRIGHT file distributed with this work for additional
- * information regarding copyright ownership.
- */
-
-
-#include <config.h>
-
-#include <stddef.h>
-
-#include <isc/mutex.h>
-#include <isc/refcount.h>
-#include <isc/result.h>
-#include <isc/util.h>
-
-isc_result_t
-isc_refcount_init(isc_refcount_t *ref, unsigned int n) {
-       REQUIRE(ref != NULL);
-
-       ref->refs = n;
-#if !defined(ISC_REFCOUNT_HAVEATOMIC)
-       return (isc_mutex_init(&ref->lock));
-#else
-       return (ISC_R_SUCCESS);
-#endif
-}
index e05c83e15dd37579ffa77aa7331bceac6f5ff98f..ee57167541867c44784dfaa8152d49e947510574 100644 (file)
@@ -519,7 +519,6 @@ isc_ratelimiter_setpertic
 isc_ratelimiter_setpushpop
 isc_ratelimiter_shutdown
 isc_ratelimiter_stall
-isc_refcount_init
 isc_regex_validate
 isc_region_compare
 isc_resource_getcurlimit
index 8d59e595a7d3f2e59d2e4a3a87070a0a34fae6ef..167eb5b0a833ed2a6b28576f5db760c2b2c927f7 100644 (file)
     <ClCompile Include="..\ratelimiter.c">
       <Filter>Library Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\refcount.c">
-      <Filter>Library Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\regex.c">
       <Filter>Library Source Files</Filter>
     </ClCompile>
index fca91b3267488ffe8791add620b78c65b957bbbd..325ce44d85db50f9275f29bfcae6f03ba44107b3 100644 (file)
@@ -459,7 +459,6 @@ copy InstallFiles ..\Build\Release\
     <ClCompile Include="..\radix.c" />
     <ClCompile Include="..\random.c" />
     <ClCompile Include="..\ratelimiter.c" />
-    <ClCompile Include="..\refcount.c" />
     <ClCompile Include="..\regex.c" />
     <ClCompile Include="..\region.c" />
     <ClCompile Include="..\result.c" />
index 0196324015564ba7c8b8254eb281abd412c83744..e713f119816b04fbdf0913d9777ae110ce6fbb73 100644 (file)
@@ -36,7 +36,6 @@
 
 isc_result_t
 cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t **ret) {
-       isc_result_t result;
        cfg_aclconfctx_t *actx;
 
        REQUIRE(mctx != NULL);
@@ -46,9 +45,7 @@ cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t **ret) {
        if (actx == NULL)
                return (ISC_R_NOMEMORY);
 
-       result = isc_refcount_init(&actx->references, 1);
-       if (result != ISC_R_SUCCESS)
-               goto cleanup;
+       isc_refcount_init(&actx->references, 1);
 
        actx->mctx = NULL;
        isc_mem_attach(mctx, &actx->mctx);
@@ -60,10 +57,6 @@ cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t **ret) {
 
        *ret = actx;
        return (ISC_R_SUCCESS);
-
- cleanup:
-       isc_mem_put(mctx, actx, sizeof(*actx));
-       return (result);
 }
 
 void
index 552015aff94bd6be66ea626284e77150828efeef..f5425efafc40320fa3d6e3042ebf708d18c16c1e 100644 (file)
@@ -451,11 +451,7 @@ cfg_parser_create(isc_mem_t *mctx, isc_log_t *lctx, cfg_parser_t **ret) {
        pctx->mctx = NULL;
        isc_mem_attach(mctx, &pctx->mctx);
 
-       result = isc_refcount_init(&pctx->references, 1);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_putanddetach(&pctx->mctx, pctx, sizeof(*pctx));
-               return (result);
-       }
+       isc_refcount_init(&pctx->references, 1);
 
        pctx->lctx = lctx;
        pctx->lexer = NULL;
@@ -3060,7 +3056,6 @@ cfg_obj_line(const cfg_obj_t *obj) {
 
 isc_result_t
 cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
-       isc_result_t result;
        cfg_obj_t *obj;
 
        REQUIRE(pctx != NULL);
@@ -3076,11 +3071,8 @@ cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
        obj->line = pctx->line;
        obj->pctx = pctx;
 
-       result = isc_refcount_init(&obj->references, 1);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(pctx->mctx, obj, sizeof(cfg_obj_t));
-               return (result);
-       }
+       isc_refcount_init(&obj->references, 1);
+
        *ret = obj;
 
        return (ISC_R_SUCCESS);
index cb489abc8336a36b2b5738d362280c7503a9f7ad..1278dd62671bbcd1e6aee81cb5ca12504f7289e8 100644 (file)
@@ -50,9 +50,7 @@ ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview,
 
        isc_mem_attach(mctx, &sctx->mctx);
 
-       result = isc_refcount_init(&sctx->references, 1);
-       if (result != ISC_R_SUCCESS)
-               goto cleanup;
+       isc_refcount_init(&sctx->references, 1);
 
        CHECKFATAL(isc_quota_init(&sctx->xfroutquota, 10));
        CHECKFATAL(isc_quota_init(&sctx->tcpquota, 10));
@@ -113,11 +111,6 @@ ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview,
        *sctxp = sctx;
 
        return (ISC_R_SUCCESS);
-
- cleanup:
-       isc_mem_putanddetach(&sctx->mctx, sctx, sizeof(*sctx));
-
-       return (result);
 }
 
 void
index a7ef15c74aedb388921f4fa0185b0ef88487054c..8a1827e14d0d3926c956048a3844845a7e9ea9af 100644 (file)
 ./lib/isc/radix.c                              C       2007,2008,2009,2011,2012,2013,2014,2015,2016,2018
 ./lib/isc/random.c                             C       1999,2000,2001,2002,2003,2004,2005,2007,2009,2013,2014,2016,2017,2018
 ./lib/isc/ratelimiter.c                                C       1999,2000,2001,2002,2004,2005,2007,2012,2014,2015,2016,2017,2018
-./lib/isc/refcount.c                           C       2005,2007,2016,2017,2018
 ./lib/isc/regex.c                              C       2013,2014.2015,2015,2016,2018
 ./lib/isc/region.c                             C       2002,2004,2005,2007,2016,2018
 ./lib/isc/result.c                             C       1998,1999,2000,2001,2003,2004,2005,2007,2008,2012,2014,2015,2016,2017,2018