]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
mem_maybedup() can no longer fail
authorEvan Hunt <each@isc.org>
Mon, 14 Feb 2022 21:05:03 +0000 (13:05 -0800)
committerEvan Hunt <each@isc.org>
Sat, 26 Feb 2022 04:57:08 +0000 (20:57 -0800)
mem_maybedup() calls isc_mem_allocate() if an mctx is supplied,
but that can no longer fail, so now the only way mem_maybedup()
could return NULL is if it was given a NULL source address by the
caller. this commit adds a REQUIRE to prevent that scenario, and
cleans up all the calling code that previously checked for NULL
return values.

this function is mostly used in rdata tostruct() implementations, so
the documentation for dns_rdata_tostruct() has been updated to
remove 'ISC_R_NOMEMORY' as a possible return value.

42 files changed:
lib/dns/include/dns/rdata.h
lib/dns/rdata.c
lib/dns/rdata/any_255/tsig_250.c
lib/dns/rdata/generic/amtrelay_260.c
lib/dns/rdata/generic/caa_257.c
lib/dns/rdata/generic/cert_37.c
lib/dns/rdata/generic/csync_62.c
lib/dns/rdata/generic/doa_259.c
lib/dns/rdata/generic/ds_43.c
lib/dns/rdata/generic/gpos_27.c
lib/dns/rdata/generic/hinfo_13.c
lib/dns/rdata/generic/hip_55.c
lib/dns/rdata/generic/ipseckey_45.c
lib/dns/rdata/generic/isdn_20.c
lib/dns/rdata/generic/key_25.c
lib/dns/rdata/generic/keydata_65533.c
lib/dns/rdata/generic/naptr_35.c
lib/dns/rdata/generic/nsec3_50.c
lib/dns/rdata/generic/nsec3param_51.c
lib/dns/rdata/generic/nsec_47.c
lib/dns/rdata/generic/null_10.c
lib/dns/rdata/generic/nxt_30.c
lib/dns/rdata/generic/openpgpkey_61.c
lib/dns/rdata/generic/opt_41.c
lib/dns/rdata/generic/rrsig_46.c
lib/dns/rdata/generic/sig_24.c
lib/dns/rdata/generic/sink_40.c
lib/dns/rdata/generic/sshfp_44.c
lib/dns/rdata/generic/tkey_249.c
lib/dns/rdata/generic/tlsa_52.c
lib/dns/rdata/generic/txt_16.c
lib/dns/rdata/generic/uri_256.c
lib/dns/rdata/generic/x25_19.c
lib/dns/rdata/generic/zonemd_63.c
lib/dns/rdata/in_1/apl_42.c
lib/dns/rdata/in_1/atma_34.c
lib/dns/rdata/in_1/dhcid_49.c
lib/dns/rdata/in_1/eid_31.c
lib/dns/rdata/in_1/nimloc_32.c
lib/dns/rdata/in_1/nsap_22.c
lib/dns/rdata/in_1/svcb_64.c
lib/dns/rdata/in_1/wks_11.c

index aa0b48013c9e6d059db2b196a131fa82e33478c1..a6e22e7e5992cb1583d8654778a7900ecd3bdb10 100644 (file)
@@ -523,7 +523,8 @@ dns_rdata_tostruct(const dns_rdata_t *rdata, void *target, isc_mem_t *mctx);
  *
  * Result:
  *\li  Success
- *\li  Resource Limit: Not enough memory
+ *\li  Not Implemented
+ *\li  Unexpected end of input
  */
 
 void
index e1adee9dd8ee75998a6f47ab8faad6eddfbc55e4..919c312ac6c1f173fffa5fd4aef545bec27e3e32 100644 (file)
@@ -420,11 +420,14 @@ name_duporclone(const dns_name_t *source, isc_mem_t *mctx, dns_name_t *target) {
 
 static inline void *
 mem_maybedup(isc_mem_t *mctx, void *source, size_t length) {
-       void *copy;
+       void *copy = NULL;
+
+       REQUIRE(source != NULL);
 
        if (mctx == NULL) {
                return (source);
        }
+
        copy = isc_mem_allocate(mctx, length);
        memmove(copy, source, length);
 
index f84d8b7926239be4ad9c21c1d07cae6b9ecf3a60..d6bf3287989d5eba7d09af6c1243f6d11e09185a 100644 (file)
@@ -496,9 +496,6 @@ tostruct_any_tsig(ARGS_TOSTRUCT) {
         */
        INSIST(sr.length >= tsig->siglen);
        tsig->signature = mem_maybedup(mctx, sr.base, tsig->siglen);
-       if (tsig->signature == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&sr, tsig->siglen);
 
        /*
@@ -524,21 +521,9 @@ tostruct_any_tsig(ARGS_TOSTRUCT) {
         */
        INSIST(sr.length == tsig->otherlen);
        tsig->other = mem_maybedup(mctx, sr.base, tsig->otherlen);
-       if (tsig->other == NULL) {
-               goto cleanup;
-       }
 
        tsig->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL) {
-               dns_name_free(&tsig->algorithm, tsig->mctx);
-       }
-       if (mctx != NULL && tsig->signature != NULL) {
-               isc_mem_free(mctx, tsig->signature);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index dfe4685a51919fd7900fc14ac305914e7ea4157d..020cfcf06d81bc6ce91c06dcfa3ad6f85832aa72 100644 (file)
@@ -360,9 +360,6 @@ tostruct_amtrelay(ARGS_TOSTRUCT) {
                if (region.length != 0) {
                        amtrelay->data = mem_maybedup(mctx, region.base,
                                                      region.length);
-                       if (amtrelay->data == NULL) {
-                               return (ISC_R_NOMEMORY);
-                       }
                }
                amtrelay->length = region.length;
        }
index 62adef4a79cc96945927098c82c5364aa45fe54a..eac735fc6b290a3542fbfed249a1bea680668092 100644 (file)
@@ -529,9 +529,6 @@ tostruct_caa(ARGS_TOSTRUCT) {
                return (ISC_R_UNEXPECTEDEND);
        }
        caa->tag = mem_maybedup(mctx, sr.base, caa->tag_len);
-       if (caa->tag == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
        isc_region_consume(&sr, caa->tag_len);
 
        /*
@@ -539,9 +536,6 @@ tostruct_caa(ARGS_TOSTRUCT) {
         */
        caa->value_len = sr.length;
        caa->value = mem_maybedup(mctx, sr.base, sr.length);
-       if (caa->value == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
 
        caa->mctx = mctx;
        return (ISC_R_SUCCESS);
index 372060e21b5a249076cfcf9d60d64f4044dda811..4ce0fad93e164439bbc65d00a8f77ce577d348fd 100644 (file)
@@ -207,10 +207,6 @@ tostruct_cert(ARGS_TOSTRUCT) {
        cert->length = region.length;
 
        cert->certificate = mem_maybedup(mctx, region.base, region.length);
-       if (cert->certificate == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        cert->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 32ea3142fc9e44bb32e1a7b8b4c2cedc882439e8..9cea44881c9e7197464c3c7028c30af7fe159462 100644 (file)
@@ -183,15 +183,8 @@ tostruct_csync(ARGS_TOSTRUCT) {
 
        csync->len = region.length;
        csync->typebits = mem_maybedup(mctx, region.base, region.length);
-       if (csync->typebits == NULL) {
-               goto cleanup;
-       }
-
        csync->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 2a070221b5189465f0fe62eba16902c4e143ebf2..d7c6129dd8a46e49d5b128d1de52cd8e44663e64 100644 (file)
@@ -258,9 +258,6 @@ tostruct_doa(ARGS_TOSTRUCT) {
        isc_region_consume(&region, 1);
        INSIST(doa->mediatype_len <= region.length);
        doa->mediatype = mem_maybedup(mctx, region.base, doa->mediatype_len);
-       if (doa->mediatype == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&region, doa->mediatype_len);
 
        /*
@@ -270,21 +267,12 @@ tostruct_doa(ARGS_TOSTRUCT) {
        doa->data = NULL;
        if (doa->data_len > 0) {
                doa->data = mem_maybedup(mctx, region.base, doa->data_len);
-               if (doa->data == NULL) {
-                       goto cleanup;
-               }
                isc_region_consume(&region, doa->data_len);
        }
 
        doa->mctx = mctx;
 
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL && doa->mediatype != NULL) {
-               isc_mem_free(mctx, doa->mediatype);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 4db39bcee831ba4a27576f5ab60a9ac471641080..6623711ceb4767027e4f9cd16823c66db96a0521 100644 (file)
@@ -293,10 +293,6 @@ generic_tostruct_ds(ARGS_TOSTRUCT) {
        ds->length = region.length;
 
        ds->digest = mem_maybedup(mctx, region.base, region.length);
-       if (ds->digest == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        ds->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index ab9fc9200f969e46641f776a781ad69ba3e806ec..96cdd501e4664168d4bb9985c5f5abc9531d1bc5 100644 (file)
@@ -140,43 +140,23 @@ tostruct_gpos(ARGS_TOSTRUCT) {
        gpos->long_len = uint8_fromregion(&region);
        isc_region_consume(&region, 1);
        gpos->longitude = mem_maybedup(mctx, region.base, gpos->long_len);
-       if (gpos->longitude == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
        isc_region_consume(&region, gpos->long_len);
 
        gpos->lat_len = uint8_fromregion(&region);
        isc_region_consume(&region, 1);
        gpos->latitude = mem_maybedup(mctx, region.base, gpos->lat_len);
-       if (gpos->latitude == NULL) {
-               goto cleanup_longitude;
-       }
        isc_region_consume(&region, gpos->lat_len);
 
        gpos->alt_len = uint8_fromregion(&region);
        isc_region_consume(&region, 1);
        if (gpos->lat_len > 0) {
                gpos->altitude = mem_maybedup(mctx, region.base, gpos->alt_len);
-               if (gpos->altitude == NULL) {
-                       goto cleanup_latitude;
-               }
        } else {
                gpos->altitude = NULL;
        }
 
        gpos->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup_latitude:
-       if (mctx != NULL && gpos->longitude != NULL) {
-               isc_mem_free(mctx, gpos->longitude);
-       }
-
-cleanup_longitude:
-       if (mctx != NULL && gpos->latitude != NULL) {
-               isc_mem_free(mctx, gpos->latitude);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 2616ee27dcb5f0ea9b801bb1f60e18ced9af6913..088bc688a7399038e17309f70294d021c6c7ad73 100644 (file)
@@ -125,26 +125,13 @@ tostruct_hinfo(ARGS_TOSTRUCT) {
        hinfo->cpu_len = uint8_fromregion(&region);
        isc_region_consume(&region, 1);
        hinfo->cpu = mem_maybedup(mctx, region.base, hinfo->cpu_len);
-       if (hinfo->cpu == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
        isc_region_consume(&region, hinfo->cpu_len);
 
        hinfo->os_len = uint8_fromregion(&region);
        isc_region_consume(&region, 1);
        hinfo->os = mem_maybedup(mctx, region.base, hinfo->os_len);
-       if (hinfo->os == NULL) {
-               goto cleanup;
-       }
-
        hinfo->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL && hinfo->cpu != NULL) {
-               isc_mem_free(mctx, hinfo->cpu);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 334e4679a10b0e3ea842f53a41962480924230cd..314bf1881a09fe97ca704c6ef0c26b0c67462b49 100644 (file)
@@ -322,42 +322,21 @@ tostruct_hip(ARGS_TOSTRUCT) {
        hip->hit = hip->key = hip->servers = NULL;
 
        hip->hit = mem_maybedup(mctx, region.base, hip->hit_len);
-       if (hip->hit == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&region, hip->hit_len);
 
        INSIST(hip->key_len <= region.length);
 
        hip->key = mem_maybedup(mctx, region.base, hip->key_len);
-       if (hip->key == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&region, hip->key_len);
 
        hip->servers_len = region.length;
        if (hip->servers_len != 0) {
                hip->servers = mem_maybedup(mctx, region.base, region.length);
-               if (hip->servers == NULL) {
-                       goto cleanup;
-               }
        }
 
        hip->offset = hip->servers_len;
        hip->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (hip->hit != NULL) {
-               isc_mem_free(mctx, hip->hit);
-       }
-       if (hip->key != NULL) {
-               isc_mem_free(mctx, hip->key);
-       }
-       if (hip->servers != NULL) {
-               isc_mem_free(mctx, hip->servers);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 272a38a4f1ba94e93fdac034036e8e671630d86a..281381808631b775926432b9de102ec1423fa769 100644 (file)
@@ -400,13 +400,6 @@ tostruct_ipseckey(ARGS_TOSTRUCT) {
        if (ipseckey->keylength != 0U) {
                ipseckey->key = mem_maybedup(mctx, region.base,
                                             ipseckey->keylength);
-               if (ipseckey->key == NULL) {
-                       if (ipseckey->gateway_type == 3) {
-                               dns_name_free(&ipseckey->gateway,
-                                             ipseckey->mctx);
-                       }
-                       return (ISC_R_NOMEMORY);
-               }
        } else {
                ipseckey->key = NULL;
        }
index 6ab97ac3a1f8d76c1b937b21afb779976cd98a7d..f58c17e63d4ca423988703b774daa2c322ec671e 100644 (file)
@@ -146,9 +146,6 @@ tostruct_isdn(ARGS_TOSTRUCT) {
        isdn->isdn_len = uint8_fromregion(&r);
        isc_region_consume(&r, 1);
        isdn->isdn = mem_maybedup(mctx, r.base, isdn->isdn_len);
-       if (isdn->isdn == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
        isc_region_consume(&r, isdn->isdn_len);
 
        if (r.length == 0) {
@@ -159,19 +156,10 @@ tostruct_isdn(ARGS_TOSTRUCT) {
                isc_region_consume(&r, 1);
                isdn->subaddress = mem_maybedup(mctx, r.base,
                                                isdn->subaddress_len);
-               if (isdn->subaddress == NULL) {
-                       goto cleanup;
-               }
        }
 
        isdn->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL && isdn->isdn != NULL) {
-               isc_mem_free(mctx, isdn->isdn);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index c6e3eefce6b30f8d964df549f24b2e823f449ab3..688b6684ecb174bfc10cbf6d093e7586ea1a9623 100644 (file)
@@ -355,10 +355,6 @@ generic_tostruct_key(ARGS_TOSTRUCT) {
        /* Data */
        key->datalen = sr.length;
        key->data = mem_maybedup(mctx, sr.base, key->datalen);
-       if (key->data == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        key->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 4bab60e4b788839f586db65ef733ff56fa77e016..c5670d01abd303841a44910744cc02c457d41c34 100644 (file)
@@ -384,10 +384,6 @@ tostruct_keydata(ARGS_TOSTRUCT) {
        /* Data */
        keydata->datalen = sr.length;
        keydata->data = mem_maybedup(mctx, sr.base, keydata->datalen);
-       if (keydata->data == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        keydata->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index e6ed027f178c06f5f0b8ac180d1f524b5d4b2ba5..6f78b73315e8fe2b7a6375e301fd5b93feab821a 100644 (file)
@@ -521,27 +521,18 @@ tostruct_naptr(ARGS_TOSTRUCT) {
        isc_region_consume(&r, 1);
        INSIST(naptr->flags_len <= r.length);
        naptr->flags = mem_maybedup(mctx, r.base, naptr->flags_len);
-       if (naptr->flags == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&r, naptr->flags_len);
 
        naptr->service_len = uint8_fromregion(&r);
        isc_region_consume(&r, 1);
        INSIST(naptr->service_len <= r.length);
        naptr->service = mem_maybedup(mctx, r.base, naptr->service_len);
-       if (naptr->service == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&r, naptr->service_len);
 
        naptr->regexp_len = uint8_fromregion(&r);
        isc_region_consume(&r, 1);
        INSIST(naptr->regexp_len <= r.length);
        naptr->regexp = mem_maybedup(mctx, r.base, naptr->regexp_len);
-       if (naptr->regexp == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&r, naptr->regexp_len);
 
        dns_name_init(&name, NULL);
@@ -550,18 +541,6 @@ tostruct_naptr(ARGS_TOSTRUCT) {
        name_duporclone(&name, mctx, &naptr->replacement);
        naptr->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL && naptr->flags != NULL) {
-               isc_mem_free(mctx, naptr->flags);
-       }
-       if (mctx != NULL && naptr->service != NULL) {
-               isc_mem_free(mctx, naptr->service);
-       }
-       if (mctx != NULL && naptr->regexp != NULL) {
-               isc_mem_free(mctx, naptr->regexp);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 8bc44f13c6b8467b3b91b4678e19a1cf15f490ad..6960f75ea62b210fa57cf2f99404c221ba48ff56 100644 (file)
@@ -306,34 +306,17 @@ tostruct_nsec3(ARGS_TOSTRUCT) {
        nsec3->salt_length = uint8_consume_fromregion(&region);
        INSIST(nsec3->salt_length <= region.length);
        nsec3->salt = mem_maybedup(mctx, region.base, nsec3->salt_length);
-       if (nsec3->salt == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
        isc_region_consume(&region, nsec3->salt_length);
 
        nsec3->next_length = uint8_consume_fromregion(&region);
        INSIST(nsec3->next_length <= region.length);
        nsec3->next = mem_maybedup(mctx, region.base, nsec3->next_length);
-       if (nsec3->next == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&region, nsec3->next_length);
 
        nsec3->len = region.length;
        nsec3->typebits = mem_maybedup(mctx, region.base, region.length);
-       if (nsec3->typebits == NULL) {
-               goto cleanup;
-       }
-
        nsec3->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (nsec3->next != NULL) {
-               isc_mem_free(mctx, nsec3->next);
-       }
-       isc_mem_free(mctx, nsec3->salt);
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index bac40b45f58c26972b2a35b1d4157f2e3c998e13..43f9a4512b0b5502cedae73965db2a0427ff7f6a 100644 (file)
@@ -243,9 +243,6 @@ tostruct_nsec3param(ARGS_TOSTRUCT) {
        INSIST(nsec3param->salt_length == region.length);
        nsec3param->salt = mem_maybedup(mctx, region.base,
                                        nsec3param->salt_length);
-       if (nsec3param->salt == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
        isc_region_consume(&region, nsec3param->salt_length);
 
        nsec3param->mctx = mctx;
index 96db05fea77a976ec9f84ecb22043ddba26b5c8b..01044ead2640cb90af4eea1240e0f1f452e4e6ec 100644 (file)
@@ -178,18 +178,8 @@ tostruct_nsec(ARGS_TOSTRUCT) {
 
        nsec->len = region.length;
        nsec->typebits = mem_maybedup(mctx, region.base, region.length);
-       if (nsec->typebits == NULL) {
-               goto cleanup;
-       }
-
        nsec->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL) {
-               dns_name_free(&nsec->next, mctx);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 126e3618618db186650aeecb56e9a463a59e535b..90ddd2234d568c38825bff8419ca43538e5c7ab6 100644 (file)
@@ -108,10 +108,6 @@ tostruct_null(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &r);
        null->length = r.length;
        null->data = mem_maybedup(mctx, r.base, r.length);
-       if (null->data == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        null->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index fa03bdf512bdca863a80f079a88e0b4b0a11ee21..1cc4c822c3e54e5088083ce90c19afcd408e37d7 100644 (file)
@@ -257,18 +257,8 @@ tostruct_nxt(ARGS_TOSTRUCT) {
 
        nxt->len = region.length;
        nxt->typebits = mem_maybedup(mctx, region.base, region.length);
-       if (nxt->typebits == NULL) {
-               goto cleanup;
-       }
-
        nxt->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL) {
-               dns_name_free(&nxt->next, mctx);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index b6db9d758b2eb0c16fd8329e28cd5ed1f80908c0..6beef9e491a6165e2ca0d5c7c287bb24d7f48e8f 100644 (file)
@@ -156,15 +156,8 @@ tostruct_openpgpkey(ARGS_TOSTRUCT) {
         */
        sig->length = sr.length;
        sig->keyring = mem_maybedup(mctx, sr.base, sig->length);
-       if (sig->keyring == NULL) {
-               goto cleanup;
-       }
-
        sig->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 1ac13764b7783ebcb52037eca35fb4b3637ca824..6e82d3abdd2f85f7d133ba47a7aff0237d8d1119 100644 (file)
@@ -330,10 +330,6 @@ tostruct_opt(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &r);
        opt->length = r.length;
        opt->options = mem_maybedup(mctx, r.base, r.length);
-       if (opt->options == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        opt->offset = 0;
        opt->mctx = mctx;
        return (ISC_R_SUCCESS);
index 1239d93cf17b0ecda5af428d0d295ca7501616f2..a74675b2e6259408f44ab818ea7c2bd5f067c6fb 100644 (file)
@@ -501,18 +501,8 @@ tostruct_rrsig(ARGS_TOSTRUCT) {
         */
        sig->siglen = sr.length;
        sig->signature = mem_maybedup(mctx, sr.base, sig->siglen);
-       if (sig->signature == NULL) {
-               goto cleanup;
-       }
-
        sig->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL) {
-               dns_name_free(&sig->signer, mctx);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 369369608dc77ee9efe32b104494e23fb5994f87..c585dfabda5debf0d67295b5a5b7865d71fcfb73 100644 (file)
@@ -493,18 +493,8 @@ tostruct_sig(ARGS_TOSTRUCT) {
         */
        sig->siglen = sr.length;
        sig->signature = mem_maybedup(mctx, sr.base, sig->siglen);
-       if (sig->signature == NULL) {
-               goto cleanup;
-       }
-
        sig->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL) {
-               dns_name_free(&sig->signer, mctx);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 2120a4a6a46a27b6e4b39dc005443ce0250ddd77..38104cf90c53d0c7a19713d76de2ca4e31ee8a6d 100644 (file)
@@ -214,10 +214,6 @@ tostruct_sink(ARGS_TOSTRUCT) {
        /* Data */
        sink->datalen = sr.length;
        sink->data = mem_maybedup(mctx, sr.base, sink->datalen);
-       if (sink->data == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        sink->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index d71a3963ebe3b80704a38c554429ba288e833482..5a214f326faa60cf1f597ddaf3892c8a6c3b9aaf 100644 (file)
@@ -218,10 +218,6 @@ tostruct_sshfp(ARGS_TOSTRUCT) {
        sshfp->length = region.length;
 
        sshfp->digest = mem_maybedup(mctx, region.base, region.length);
-       if (sshfp->digest == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        sshfp->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 66ad6c4445e8d25b47e6b441d96ce79286cc4091..675b82736564221db1c7eb2e84a3cd00ba8ee226 100644 (file)
@@ -474,9 +474,6 @@ tostruct_tkey(ARGS_TOSTRUCT) {
         */
        INSIST(tkey->keylen + 2U <= sr.length);
        tkey->key = mem_maybedup(mctx, sr.base, tkey->keylen);
-       if (tkey->key == NULL) {
-               goto cleanup;
-       }
        isc_region_consume(&sr, tkey->keylen);
 
        /*
@@ -490,21 +487,8 @@ tostruct_tkey(ARGS_TOSTRUCT) {
         */
        INSIST(tkey->otherlen <= sr.length);
        tkey->other = mem_maybedup(mctx, sr.base, tkey->otherlen);
-       if (tkey->other == NULL) {
-               goto cleanup;
-       }
-
        tkey->mctx = mctx;
        return (ISC_R_SUCCESS);
-
-cleanup:
-       if (mctx != NULL) {
-               dns_name_free(&tkey->algorithm, mctx);
-       }
-       if (mctx != NULL && tkey->key != NULL) {
-               isc_mem_free(mctx, tkey->key);
-       }
-       return (ISC_R_NOMEMORY);
 }
 
 static inline void
index 65a4f7fe136f48ea5f6e41b217a358a85d7d345d..298aae00403ae9f187baa9833d17cdc1f0319df7 100644 (file)
@@ -231,10 +231,6 @@ generic_tostruct_tlsa(ARGS_TOSTRUCT) {
        tlsa->length = region.length;
 
        tlsa->data = mem_maybedup(mctx, region.base, region.length);
-       if (tlsa->data == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        tlsa->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 73b3f0c899e0caabab405165569037dffa05fad7..36d75b491a96f0a44d457f2916f387fdcad17c2d 100644 (file)
@@ -172,10 +172,6 @@ generic_tostruct_txt(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &r);
        txt->txt_len = r.length;
        txt->txt = mem_maybedup(mctx, r.base, r.length);
-       if (txt->txt == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        txt->offset = 0;
        txt->mctx = mctx;
        return (ISC_R_SUCCESS);
index 626a34e2a0ac5b178e2bfdb1d163e560fe2e9811..a613e4d9bb2e66a13b99335f6fec13d28aa5746f 100644 (file)
@@ -240,10 +240,6 @@ tostruct_uri(ARGS_TOSTRUCT) {
         */
        uri->tgt_len = sr.length;
        uri->target = mem_maybedup(mctx, sr.base, sr.length);
-       if (uri->target == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        uri->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 63f6be827f413ddbae33d67aa32aea38d58eb101..f754443e63a70204c33cba63b7cdcad2f10665e0 100644 (file)
@@ -154,10 +154,6 @@ tostruct_x25(ARGS_TOSTRUCT) {
        x25->x25_len = uint8_fromregion(&r);
        isc_region_consume(&r, 1);
        x25->x25 = mem_maybedup(mctx, r.base, x25->x25_len);
-       if (x25->x25 == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        x25->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index f09ee5229c917923f2fd1785bf639136615963cb..8c8625e8f4700f82dc4dc5576ca4978008c64cbf 100644 (file)
@@ -272,10 +272,6 @@ tostruct_zonemd(ARGS_TOSTRUCT) {
        zonemd->length = region.length;
 
        zonemd->digest = mem_maybedup(mctx, region.base, region.length);
-       if (zonemd->digest == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        zonemd->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 7885af233b6c076530cefa74004e47aee937f714..bda153cd2016d484a60af91893c012168cfd5e3d 100644 (file)
@@ -295,10 +295,6 @@ tostruct_in_apl(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &r);
        apl->apl_len = r.length;
        apl->apl = mem_maybedup(mctx, r.base, r.length);
-       if (apl->apl == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        apl->offset = 0;
        apl->mctx = mctx;
        return (ISC_R_SUCCESS);
index 30580d30565626ba5389d407a54a33f2faffb9e2..c5f03c221f394d97a2adf790ada95d9de3d9c0a5 100644 (file)
@@ -234,10 +234,6 @@ tostruct_in_atma(ARGS_TOSTRUCT) {
        isc_region_consume(&r, 1);
        atma->atma_len = r.length;
        atma->atma = mem_maybedup(mctx, r.base, r.length);
-       if (atma->atma == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        atma->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index ca3c39373921e3abd876bf05277cc82f9af387e2..dd83c51a40747b42d1f1817d51c5ea9ee0eb0487 100644 (file)
@@ -152,10 +152,6 @@ tostruct_in_dhcid(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &region);
 
        dhcid->dhcid = mem_maybedup(mctx, region.base, region.length);
-       if (dhcid->dhcid == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        dhcid->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 38a3887f3f6f2856e93da0c5714db01ced1f8fd1..e71fda1af4544373da7c1dac83713c0f78139adc 100644 (file)
@@ -141,10 +141,6 @@ tostruct_in_eid(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &r);
        eid->eid_len = r.length;
        eid->eid = mem_maybedup(mctx, r.base, r.length);
-       if (eid->eid == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        eid->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index d96967f6bd87c4046e83b2c855214a23f4122e70..f6045c5ace0bc068153c5b49699615ba4e1bc5e6 100644 (file)
@@ -141,10 +141,6 @@ tostruct_in_nimloc(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &r);
        nimloc->nimloc_len = r.length;
        nimloc->nimloc = mem_maybedup(mctx, r.base, r.length);
-       if (nimloc->nimloc == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        nimloc->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index 379842346fabcbf1bad42c9ae8925687ee2c45a3..22be56e2da97deb1a8fcaa24cf0b9f014734860f 100644 (file)
@@ -176,10 +176,6 @@ tostruct_in_nsap(ARGS_TOSTRUCT) {
        dns_rdata_toregion(rdata, &r);
        nsap->nsap_len = r.length;
        nsap->nsap = mem_maybedup(mctx, r.base, r.length);
-       if (nsap->nsap == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
-
        nsap->mctx = mctx;
        return (ISC_R_SUCCESS);
 }
index e783f0608352cc7424e09578e40dc4683e6ac41a..b2b8657b9700a59793a7fbce58d0b7ee38701383 100644 (file)
@@ -1014,13 +1014,6 @@ generic_tostruct_in_svcb(ARGS_TOSTRUCT) {
        svcb->svclen = region.length;
        svcb->svc = mem_maybedup(mctx, region.base, region.length);
 
-       if (svcb->svc == NULL) {
-               if (mctx != NULL) {
-                       dns_name_free(&svcb->svcdomain, svcb->mctx);
-               }
-               return (ISC_R_NOMEMORY);
-       }
-
        svcb->offset = 0;
        svcb->mctx = mctx;
 
index 66883beeb2f3deb970e3f63d1fcafe01d01def48..f8567e6ec7fd137d292af3670aa80d2c77da57ff 100644 (file)
@@ -323,9 +323,6 @@ tostruct_in_wks(ARGS_TOSTRUCT) {
        isc_region_consume(&region, 1);
        wks->map_len = region.length;
        wks->map = mem_maybedup(mctx, region.base, region.length);
-       if (wks->map == NULL) {
-               return (ISC_R_NOMEMORY);
-       }
        wks->mctx = mctx;
        return (ISC_R_SUCCESS);
 }