]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Remove duplicate INSIST checks for isc_refcount API
authorOndřej Surý <ondrej@sury.org>
Mon, 15 Jul 2019 09:19:03 +0000 (11:19 +0200)
committerOndřej Surý <ondrej@sury.org>
Tue, 14 Jan 2020 12:12:13 +0000 (13:12 +0100)
This commits removes superfluous checks when using the isc_refcount API.

Examples of superfluous checks:

1. The isc_refcount_decrement function ensures there was not underflow,
   so this check is superfluous:

    INSIST(isc_refcount_decrement(&r) > 0);

2 .The isc_refcount_destroy() includes check whether the counter
   is zero, therefore this is superfluous:

    INSIST(isc_refcount_decrement(&r) == 1 && isc_refcount_destroy(&r));

lib/dns/rbtdb.c
lib/dns/rpz.c
lib/dns/tsig.c
lib/dns/zone.c
lib/isc/mem.c
lib/isc/unix/socket.c
lib/ns/interfacemgr.c

index e54a000a2a0b63318d34023dba3f833792e20114..266e0213dd8ae24506fadd682a0e4871b27d96df 100644 (file)
@@ -8322,7 +8322,7 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
        rbtdb->next_serial = 2;
        rbtdb->current_version = allocate_version(mctx, 1, 1, false);
        if (rbtdb->current_version == NULL) {
-               INSIST(isc_refcount_decrement(&rbtdb->references) > 0);
+               isc_refcount_decrement(&rbtdb->references);
                free_rbtdb(rbtdb, false, NULL);
                return (ISC_R_NOMEMORY);
        }
@@ -8343,7 +8343,7 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
                isc_mem_put(mctx, rbtdb->current_version,
                            sizeof(*rbtdb->current_version));
                rbtdb->current_version = NULL;
-               INSIST(isc_refcount_decrement(&rbtdb->references) > 0);
+               isc_refcount_decrement(&rbtdb->references);
                free_rbtdb(rbtdb, false, NULL);
                return (result);
        }
index 5ee338f7c319a7f1611f03e227fb8b9db1873945..018ab5c16a62f5e1c43e8310469117b19fdef40b 100644 (file)
@@ -1484,9 +1484,9 @@ cleanup_task:
        dns_rbt_destroy(&zones->rbt);
 
 cleanup_rbt:
-       INSIST(isc_refcount_decrement(&zones->irefs) == 1);
+       isc_refcount_decrement(&zones->irefs);
        isc_refcount_destroy(&zones->irefs);
-       INSIST(isc_refcount_decrement(&zones->refs) == 1);
+       isc_refcount_decrement(&zones->refs);
        isc_refcount_destroy(&zones->refs);
 
        isc_mutex_destroy(&zones->maint_lock);
@@ -1567,7 +1567,7 @@ cleanup_ht:
        isc_timer_detach(&zone->updatetimer);
 
 cleanup_timer:
-       INSIST(isc_refcount_decrement(&zone->refs) > 0);
+       isc_refcount_decrement(&zone->refs);
        isc_refcount_destroy(&zone->refs);
 
        isc_mem_put(rpzs->mctx, zone, sizeof(*zone));
index 71f8f19998594da73cb3928c8192b53ca9624172..83f76b97dd82096fd138c6f0f9f99285bc302597 100644 (file)
@@ -349,7 +349,7 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm,
  cleanup_refs:
        tkey->magic = 0;
        while (refs-- > 0) {
-               INSIST(isc_refcount_decrement(&tkey->refs) > 0);
+               isc_refcount_decrement(&tkey->refs);
        }
        isc_refcount_destroy(&tkey->refs);
 
index db2be499dbf991f1b889b397639162b66fb24fae..1de8b8283ef9684367476a03c3dcccd4a39adec4 100644 (file)
@@ -1086,7 +1086,7 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) {
        return (ISC_R_SUCCESS);
 
  free_refs:
-       INSIST(isc_refcount_decrement(&zone->erefs) > 0);
+       isc_refcount_decrement(&zone->erefs);
        isc_refcount_destroy(&zone->erefs);
        isc_refcount_destroy(&zone->irefs);
 
@@ -1111,8 +1111,8 @@ zone_free(dns_zone_t *zone) {
        dns_include_t *include;
 
        REQUIRE(DNS_ZONE_VALID(zone));
-       REQUIRE(isc_refcount_current(&zone->erefs) == 0);
-       REQUIRE(isc_refcount_current(&zone->irefs) == 0);
+       isc_refcount_destroy(&zone->erefs);
+       isc_refcount_destroy(&zone->irefs);
        REQUIRE(!LOCKED_ZONE(zone));
        REQUIRE(zone->timer == NULL);
        REQUIRE(zone->zmgr == NULL);
@@ -5471,7 +5471,7 @@ dns_zone_detach(dns_zone_t **zonep) {
 void
 dns_zone_iattach(dns_zone_t *source, dns_zone_t **target) {
        REQUIRE(DNS_ZONE_VALID(source));
-       REQUIRE(target != NULL && *target == NULL);
+
        LOCK_ZONE(source);
        zone_iattach(source, target);
        UNLOCK_ZONE(source);
@@ -5479,10 +5479,6 @@ dns_zone_iattach(dns_zone_t *source, dns_zone_t **target) {
 
 static void
 zone_iattach(dns_zone_t *source, dns_zone_t **target) {
-
-       /*
-        * 'source' locked by caller.
-        */
        REQUIRE(DNS_ZONE_VALID(source));
        REQUIRE(LOCKED_ZONE(source));
        REQUIRE(target != NULL && *target == NULL);
@@ -5491,6 +5487,7 @@ zone_iattach(dns_zone_t *source, dns_zone_t **target) {
        *target = source;
 }
 
+
 static void
 zone_idetach(dns_zone_t **zonep) {
        dns_zone_t *zone;
@@ -5499,8 +5496,9 @@ zone_idetach(dns_zone_t **zonep) {
         * 'zone' locked by caller.
         */
        REQUIRE(zonep != NULL && DNS_ZONE_VALID(*zonep));
-       zone = *zonep;
        REQUIRE(LOCKED_ZONE(*zonep));
+
+       zone = *zonep;
        *zonep = NULL;
 
        INSIST(isc_refcount_decrement(&zone->irefs) - 1 +
@@ -5513,6 +5511,7 @@ dns_zone_idetach(dns_zone_t **zonep) {
        bool free_needed;
 
        REQUIRE(zonep != NULL && DNS_ZONE_VALID(*zonep));
+
        zone = *zonep;
        *zonep = NULL;
 
index fc7a68e31ab869a4059748a9896e386f1d5d490f..d47189103338d18a4fa3dfa30ce30ed72e684fc3 100644 (file)
@@ -982,11 +982,11 @@ isc_mem_destroy(isc_mem_t **ctxp) {
        REQUIRE(VALID_CONTEXT(ctx));
 
 #if ISC_MEM_TRACKLINES
-       if (isc_refcount_decrement(&ctx->references) != 1) {
+       if (isc_refcount_decrement(&ctx->references) > 1) {
                print_active(ctx, stderr);
        }
 #else
-       INSIST(isc_refcount_decrement(&ctx->references) == 1);
+       isc_refcount_decrement(&ctx->references);
 #endif
        isc_refcount_destroy(&ctx->references);
        destroy(ctx);
index c17965501a797dd93a73260cf853fb096e2f23b6..eebce42f89d1c3c5d69086b0f85c2b4560c83971 100644 (file)
@@ -1933,7 +1933,7 @@ free_socket(isc__socket_t **socketp) {
        isc__socket_t *sock = *socketp;
 
        INSIST(VALID_SOCKET(sock));
-       INSIST(isc_refcount_current(&sock->references) == 0);
+       isc_refcount_destroy(&sock->references);
        LOCK(&sock->lock);
        INSIST(!sock->connecting);
        INSIST(ISC_LIST_EMPTY(sock->recv_list));
index 34a16be604c20eb6caa12659780c03c40778d71d..df1fe63aab533454bd5da8b94d0c0cf92f2a454d 100644 (file)
@@ -340,7 +340,7 @@ ns_interfacemgr_getaclenv(ns_interfacemgr_t *mgr) {
 void
 ns_interfacemgr_attach(ns_interfacemgr_t *source, ns_interfacemgr_t **target) {
        REQUIRE(NS_INTERFACEMGR_VALID(source));
-       INSIST(isc_refcount_increment(&source->references) > 0);
+       isc_refcount_increment(&source->references);
        *target = source;
 }