From: Mark Andrews Date: Mon, 13 Mar 2023 02:48:20 +0000 (+1100) Subject: Add ISC_FORMAT_PRINTF to report's declaration X-Git-Tag: v9.19.12~80^2~1 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=7a0a2fc3e4e3bb9c5869fe0953d97f6019fb0967;p=thirdparty%2Fbind9.git Add ISC_FORMAT_PRINTF to report's declaration dns_dnssec_updatekeys's 'report' could be called with invalid arguments which the compiler should be be able to detect. --- diff --git a/lib/dns/dnssec.c b/lib/dns/dnssec.c index a258642137b..cddb9daa3bc 100644 --- a/lib/dns/dnssec.c +++ b/lib/dns/dnssec.c @@ -1885,7 +1885,8 @@ failure: static isc_result_t publish_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin, - dns_ttl_t ttl, isc_mem_t *mctx, void (*report)(const char *, ...)) { + dns_ttl_t ttl, isc_mem_t *mctx, + void (*report)(const char *, ...) ISC_FORMAT_PRINTF(1, 2)) { isc_result_t result; unsigned char buf[DST_KEY_MAXSIZE]; char keystr[DST_KEY_FORMATSIZE]; @@ -1902,7 +1903,8 @@ publish_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin, if (key->prepublish && ttl > key->prepublish) { isc_stdtime_t now; - report("Key %s: Delaying activation to match the DNSKEY TTL.", + report("Key %s: Delaying activation to match the DNSKEY TTL " + "(%u).", keystr, ttl); isc_stdtime_get(&now); @@ -1919,7 +1921,7 @@ failure: static isc_result_t remove_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin, dns_ttl_t ttl, isc_mem_t *mctx, const char *reason, - void (*report)(const char *, ...)) { + void (*report)(const char *, ...) ISC_FORMAT_PRINTF(1, 2)) { isc_result_t result; unsigned char buf[DST_KEY_MAXSIZE]; dns_rdata_t dnskey = DNS_RDATA_INIT; @@ -2244,7 +2246,8 @@ isc_result_t dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, dns_dnsseckeylist_t *removed, const dns_name_t *origin, dns_ttl_t hint_ttl, dns_diff_t *diff, isc_mem_t *mctx, - void (*report)(const char *, ...)) { + void (*report)(const char *, ...) + ISC_FORMAT_PRINTF(1, 2)) { isc_result_t result; dns_dnsseckey_t *key, *key1, *key2, *next; bool found_ttl = false; diff --git a/lib/dns/include/dns/dnssec.h b/lib/dns/include/dns/dnssec.h index 1e9e5765643..eb754bf4596 100644 --- a/lib/dns/include/dns/dnssec.h +++ b/lib/dns/include/dns/dnssec.h @@ -322,7 +322,8 @@ isc_result_t dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, dns_dnsseckeylist_t *removed, const dns_name_t *origin, dns_ttl_t hint_ttl, dns_diff_t *diff, isc_mem_t *mctx, - void (*report)(const char *, ...)); + void (*report)(const char *, ...) + ISC_FORMAT_PRINTF(1, 2)); /*%< * Update the list of keys in 'keys' with new key information in 'newkeys'. *