]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add ISC_FORMAT_PRINTF to report's declaration
authorMark Andrews <marka@isc.org>
Mon, 13 Mar 2023 02:48:20 +0000 (13:48 +1100)
committerMark Andrews <marka@isc.org>
Mon, 13 Mar 2023 23:26:35 +0000 (23:26 +0000)
dns_dnssec_updatekeys's 'report' could be called with invalid arguments
which the compiler should be be able to detect.

lib/dns/dnssec.c
lib/dns/include/dns/dnssec.h

index a258642137b28ae8d6f2af8a1615a49af12bf1ca..cddb9daa3bccb1efef2982dd3ba7550d4602a4f4 100644 (file)
@@ -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;
index 1e9e5765643ca05504199983cfe763710f165287..eb754bf4596d49c701be72956306bb2d75be2e7d 100644 (file)
@@ -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'.
  *