]> git.ipfire.org Git - thirdparty/bind9.git/commit
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)
commitbbaade23ebd0025a1631bda62822f81c2c2d0807
treeb995377a17fbde180ea9689c9b3027339cd6e143
parent5e4580d4792b273b83e3a6570bdfe624f6531353
mem_maybedup() can no longer fail

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