]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Use sizeof(*ptr) for allocating/freeing memory in forward.c
authorAram Sargsyan <aram@isc.org>
Mon, 12 Dec 2022 09:20:48 +0000 (09:20 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Wed, 11 Jan 2023 13:42:00 +0000 (13:42 +0000)
As shown in the previous commit, using sizeof(type_t) is a little
bit more error-prone when copy-pasting code, so extracting the
size information from the pointer which is being dealt with seems
like a better alternative.

(cherry picked from commit cf4003fa5801230a7e844e2abe5878520a58a748)

lib/dns/forward.c

index c7c54cddcedc5dcf6f9f57ac944295976e53cd35..e59f23c09345ccdc8ae750ddb039347a33b843e2 100644 (file)
@@ -45,7 +45,7 @@ dns_fwdtable_create(isc_mem_t *mctx, dns_fwdtable_t **fwdtablep) {
 
        REQUIRE(fwdtablep != NULL && *fwdtablep == NULL);
 
-       fwdtable = isc_mem_get(mctx, sizeof(dns_fwdtable_t));
+       fwdtable = isc_mem_get(mctx, sizeof(*fwdtable));
 
        fwdtable->table = NULL;
        result = dns_rbt_create(mctx, auto_detach, fwdtable, &fwdtable->table);
@@ -62,7 +62,7 @@ dns_fwdtable_create(isc_mem_t *mctx, dns_fwdtable_t **fwdtablep) {
        return (ISC_R_SUCCESS);
 
 cleanup_fwdtable:
-       isc_mem_put(mctx, fwdtable, sizeof(dns_fwdtable_t));
+       isc_mem_put(mctx, fwdtable, sizeof(*fwdtable));
 
        return (result);
 }
@@ -76,13 +76,13 @@ dns_fwdtable_addfwd(dns_fwdtable_t *fwdtable, const dns_name_t *name,
 
        REQUIRE(VALID_FWDTABLE(fwdtable));
 
-       forwarders = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarders_t));
+       forwarders = isc_mem_get(fwdtable->mctx, sizeof(*forwarders));
 
        ISC_LIST_INIT(forwarders->fwdrs);
        for (fwd = ISC_LIST_HEAD(*fwdrs); fwd != NULL;
             fwd = ISC_LIST_NEXT(fwd, link))
        {
-               nfwd = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarder_t));
+               nfwd = isc_mem_get(fwdtable->mctx, sizeof(*nfwd));
                *nfwd = *fwd;
                ISC_LINK_INIT(nfwd, link);
                ISC_LIST_APPEND(forwarders->fwdrs, nfwd, link);
@@ -103,9 +103,9 @@ cleanup:
        while (!ISC_LIST_EMPTY(forwarders->fwdrs)) {
                fwd = ISC_LIST_HEAD(forwarders->fwdrs);
                ISC_LIST_UNLINK(forwarders->fwdrs, fwd, link);
-               isc_mem_put(fwdtable->mctx, fwd, sizeof(dns_forwarder_t));
+               isc_mem_put(fwdtable->mctx, fwd, sizeof(*fwd));
        }
-       isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t));
+       isc_mem_put(fwdtable->mctx, forwarders, sizeof(*forwarders));
        return (result);
 }
 
@@ -119,13 +119,13 @@ dns_fwdtable_add(dns_fwdtable_t *fwdtable, const dns_name_t *name,
 
        REQUIRE(VALID_FWDTABLE(fwdtable));
 
-       forwarders = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarders_t));
+       forwarders = isc_mem_get(fwdtable->mctx, sizeof(*forwarders));
 
        ISC_LIST_INIT(forwarders->fwdrs);
        for (sa = ISC_LIST_HEAD(*addrs); sa != NULL;
             sa = ISC_LIST_NEXT(sa, link))
        {
-               fwd = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarder_t));
+               fwd = isc_mem_get(fwdtable->mctx, sizeof(*fwd));
                fwd->addr = *sa;
                fwd->dscp = -1;
                ISC_LINK_INIT(fwd, link);
@@ -147,9 +147,9 @@ cleanup:
        while (!ISC_LIST_EMPTY(forwarders->fwdrs)) {
                fwd = ISC_LIST_HEAD(forwarders->fwdrs);
                ISC_LIST_UNLINK(forwarders->fwdrs, fwd, link);
-               isc_mem_put(fwdtable->mctx, fwd, sizeof(dns_forwarder_t));
+               isc_mem_put(fwdtable->mctx, fwd, sizeof(*fwd));
        }
-       isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t));
+       isc_mem_put(fwdtable->mctx, forwarders, sizeof(*forwarders));
        return (result);
 }
 
@@ -203,7 +203,7 @@ dns_fwdtable_destroy(dns_fwdtable_t **fwdtablep) {
        isc_rwlock_destroy(&fwdtable->rwlock);
        fwdtable->magic = 0;
 
-       isc_mem_putanddetach(&fwdtable->mctx, fwdtable, sizeof(dns_fwdtable_t));
+       isc_mem_putanddetach(&fwdtable->mctx, fwdtable, sizeof(*fwdtable));
 }
 
 /***
@@ -221,7 +221,7 @@ auto_detach(void *data, void *arg) {
        while (!ISC_LIST_EMPTY(forwarders->fwdrs)) {
                fwd = ISC_LIST_HEAD(forwarders->fwdrs);
                ISC_LIST_UNLINK(forwarders->fwdrs, fwd, link);
-               isc_mem_put(fwdtable->mctx, fwd, sizeof(dns_forwarder_t));
+               isc_mem_put(fwdtable->mctx, fwd, sizeof(*fwd));
        }
-       isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t));
+       isc_mem_put(fwdtable->mctx, forwarders, sizeof(*forwarders));
 }