]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
format string bugs and improved format string checking [RT #1578]
authorAndreas Gustafsson <source@isc.org>
Wed, 8 Aug 2001 22:54:55 +0000 (22:54 +0000)
committerAndreas Gustafsson <source@isc.org>
Wed, 8 Aug 2001 22:54:55 +0000 (22:54 +0000)
32 files changed:
bin/dig/dighost.c
bin/dig/include/dig/dig.h
bin/dnssec/dnssectool.h
bin/named/client.c
bin/named/include/named/client.h
bin/named/include/named/lwdclient.h
bin/named/include/named/main.h
bin/named/lwdgnba.c
bin/named/main.c
bin/named/xfrout.c
bin/nsupdate/nsupdate.c
bin/tests/adb_test.c
bin/tests/db/t_db.c
bin/tests/dst/t_dst.c
bin/tests/tasks/t_tasks.c
bin/tests/timers/t_timers.c
lib/dns/adb.c
lib/dns/callbacks.c
lib/dns/dispatch.c
lib/dns/gen.c
lib/dns/rdata.c
lib/dns/request.c
lib/dns/tkey.c
lib/dns/tsig.c
lib/dns/validator.c
lib/dns/xfrin.c
lib/dns/zone.c
lib/isc/error.c
lib/isc/log.c
lib/isc/unix/socket.c
lib/lwres/lwinetntop.c
lib/tests/include/tests/t_api.h

index 50bbb54a261ff4d2861471821941c66efd952f74..106dfe2ebc81f08d6617d0c660c68f742e2b3be2 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dighost.c,v 1.220 2001/08/06 05:50:20 marka Exp $ */
+/* $Id: dighost.c,v 1.221 2001/08/08 22:54:14 gson Exp $ */
 
 /*
  * Notice to programmers:  Do not use this code as an example of how to
@@ -1601,7 +1601,7 @@ send_tcp_connect(dig_query_t *query) {
        dig_query_t *next;
        dig_lookup_t *l;
 
-       debug("send_tcp_connect(%lx)", query);
+       debug("send_tcp_connect(%p)", query);
 
        l = query->lookup;
        query->waiting_connect = ISC_TRUE;
@@ -1670,7 +1670,7 @@ send_udp(dig_query_t *query) {
        dig_query_t *next;
        isc_result_t result;
 
-       debug("send_udp(%lx)", query);
+       debug("send_udp(%p)", query);
 
        l = query->lookup;
        bringup_timer(query, UDP_TIMEOUT);
@@ -2292,7 +2292,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
                if (l->current_query == query)
                        l->current_query = NULL;
                if (next != NULL) {
-                       debug("sending query %lx\n", next);
+                       debug("sending query %p\n", next);
                        if (l->tcp_mode)
                                send_tcp_connect(next);
                        else
index 4b0af71f7070f9b3f68927f06d283572c87ce82e..fc96ef4b10cdc0676c8301df864584136f04fa40 100644 (file)
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dig.h,v 1.70 2001/07/28 01:01:02 bwelling Exp $ */
+/* $Id: dig.h,v 1.71 2001/08/08 22:54:15 gson Exp $ */
 
 #ifndef DIG_H
 #define DIG_H
 
 #include <dns/rdatalist.h>
+
 #include <dst/dst.h>
+
 #include <isc/boolean.h>
 #include <isc/buffer.h>
 #include <isc/bufferlist.h>
+#include <isc/formatcheck.h>
 #include <isc/lang.h>
 #include <isc/list.h>
 #include <isc/mem.h>
@@ -191,10 +194,10 @@ isc_result_t
 get_reverse(char reverse[MXNAME], char *value, isc_boolean_t nibble);
 
 void
-fatal(const char *format, ...);
+fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
 
 void
-debug(const char *format, ...);
+debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
 
 void
 check_result(isc_result_t result, const char *msg);
index 76883e0da154792b767d11c012d956d732576735..f546296cefa29108ecb0eacbf28c4d138b3bd282 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dnssectool.h,v 1.14 2001/03/31 02:12:26 bwelling Exp $ */
+/* $Id: dnssectool.h,v 1.15 2001/08/08 22:54:16 gson Exp $ */
 
 #ifndef DNSSECTOOL_H
 #define DNSSECTOOL_H 1
@@ -37,7 +37,7 @@ void
 check_result(isc_result_t result, const char *message);
 
 void
-vbprintf(int level, const char *fmt, ...);
+vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
 
 void
 type_format(const dns_rdatatype_t type, char *cp, unsigned int size);
index 8ba607d1c88667a7ffcd568b3061d69e49c543f1..dee00955ff0ce119010c99e66347dc3c20a0eaee 100644 (file)
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: client.c,v 1.175 2001/07/26 20:42:38 bwelling Exp $ */
+/* $Id: client.c,v 1.176 2001/08/08 22:54:18 gson Exp $ */
 
 #include <config.h>
 
+#include <isc/formatcheck.h>
 #include <isc/mutex.h>
 #include <isc/once.h>
 #include <isc/print.h>
@@ -2247,6 +2248,11 @@ ns_client_name(ns_client_t *client, char *peerbuf, size_t len) {
                snprintf(peerbuf, len, "@%p", client);
 }
 
+static void
+ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
+          isc_logmodule_t *module, int level, const char *fmt, va_list ap)
+     ISC_FORMAT_PRINTF(5, 0);
+
 static void
 ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
           isc_logmodule_t *module, int level, const char *fmt, va_list ap)
index 17e9cb36625341bb0ab894baad626821bc498585..bd03831072cddf7ad647c25c08c9dac2405284da 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: client.h,v 1.58 2001/06/15 23:28:29 gson Exp $ */
+/* $Id: client.h,v 1.59 2001/08/08 22:54:23 gson Exp $ */
 
 #ifndef NAMED_CLIENT_H
 #define NAMED_CLIENT_H 1
@@ -314,7 +314,7 @@ ns_client_checkacl(ns_client_t  *client,
 void
 ns_client_log(ns_client_t *client, isc_logcategory_t *category,
              isc_logmodule_t *module, int level,
-             const char *fmt, ...);
+             const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6);
 
 void
 ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdataclass_t rdclass,
index b6bceb57ae4b28e0984081a807b653747ad8aa68..a33749273d29a1670457428f7bce7b621f4db708 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: lwdclient.h,v 1.12 2001/01/22 22:29:04 gson Exp $ */
+/* $Id: lwdclient.h,v 1.13 2001/08/08 22:54:24 gson Exp $ */
 
 #ifndef NAMED_LWDCLIENT_H
 #define NAMED_LWDCLIENT_H 1
@@ -224,6 +224,7 @@ void ns_lwdclient_processnoop(ns_lwdclient_t *, lwres_buffer_t *);
 
 void ns_lwdclient_errorpktsend(ns_lwdclient_t *, isc_uint32_t);
 
-void ns_lwdclient_log(int level, const char *format, ...);
+void ns_lwdclient_log(int level, const char *format, ...)
+     ISC_FORMAT_PRINTF(2, 3);
 
 #endif /* NAMED_LWDCLIENT_H */
index 63b0213c7b7361cab51169e8dfb9084b3789b95d..e0acafb031f11b0170aa46b5f13153f1b041e784 100644 (file)
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: main.h,v 1.7 2001/01/09 21:40:23 bwelling Exp $ */
+/* $Id: main.h,v 1.8 2001/08/08 22:54:26 gson Exp $ */
 
 #ifndef NAMED_MAIN_H
 #define NAMED_MAIN_H 1
 
 void
-ns_main_earlyfatal(const char *format, ...);
+ns_main_earlyfatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
 
 #endif /* NAMED_MAIN_H */
index 3946f3e2704577332bceaa32e88b4e283f1e2eb9..dbb9db98dd5525b21885c2b7b84f23bad87e02ce 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: lwdgnba.c,v 1.12 2001/01/22 22:29:01 gson Exp $ */
+/* $Id: lwdgnba.c,v 1.13 2001/08/08 22:54:19 gson Exp $ */
 
 #include <config.h>
 
@@ -98,7 +98,7 @@ byaddr_done(isc_task_t *task, isc_event_t *event) {
                if (result != ISC_R_SUCCESS)
                        goto out;
                ns_lwdclient_log(50, "found name '%.*s'",
-                                client->recv_buffer.used - b.used,
+                                (int)(client->recv_buffer.used - b.used),
                                 (char *)(b.base) + b.used);
                if (gnba->realname == NULL) {
                        gnba->realname = (char *)(b.base) + b.used;
index 1aca0ed5964d3ae42e7409c796b5e48ac8f3ea94..2bb036fa43908e0280d3bf9f3423d0db3d1b1a36 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: main.c,v 1.118 2001/08/08 20:36:13 gson Exp $ */
+/* $Id: main.c,v 1.119 2001/08/08 22:54:20 gson Exp $ */
 
 #include <config.h>
 
@@ -124,6 +124,10 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type,
        exit(1);
 }
 
+static void
+library_fatal_error(const char *file, int line, const char *format,
+                   va_list args) ISC_FORMAT_PRINTF(3, 0);
+
 static void
 library_fatal_error(const char *file, int line, const char *format,
                    va_list args)
@@ -160,6 +164,10 @@ library_fatal_error(const char *file, int line, const char *format,
        exit(1);
 }
 
+static void
+library_unexpected_error(const char *file, int line, const char *format,
+                        va_list args) ISC_FORMAT_PRINTF(3, 0);
+
 static void
 library_unexpected_error(const char *file, int line, const char *format,
                         va_list args)
index a8d452e529c4ba8406f2ed61cee310ee1b055c24..6c7c7555797f16080ba3c2ab0695a37f366a4163 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: xfrout.c,v 1.100 2001/06/18 19:04:32 gson Exp $ */
+/* $Id: xfrout.c,v 1.101 2001/08/08 22:54:22 gson Exp $ */
 
 #include <config.h>
 
@@ -1619,6 +1619,12 @@ xfrout_client_shutdown(void *arg, isc_result_t result) {
  * Log outgoing zone transfer messages in a format like
  * <client>: transfer of <zone>: <message>
  */
+
+static void
+xfrout_logv(ns_client_t *client, dns_name_t *zonename,
+           dns_rdataclass_t rdclass, int level, const char *fmt, va_list ap)
+     ISC_FORMAT_PRINTF(5, 0);
+
 static void
 xfrout_logv(ns_client_t *client, dns_name_t *zonename,
            dns_rdataclass_t rdclass, int level, const char *fmt, va_list ap)
@@ -1640,8 +1646,7 @@ xfrout_logv(ns_client_t *client, dns_name_t *zonename,
  */
 static void
 xfrout_log1(ns_client_t *client, dns_name_t *zonename,
-           dns_rdataclass_t rdclass, int level, const char *fmt, ...)
-{
+           dns_rdataclass_t rdclass, int level, const char *fmt, ...) {
        va_list ap;
        va_start(ap, fmt);
        xfrout_logv(client, zonename, rdclass, level, fmt, ap);
index d9779239951b1e2b6bec62a57fcd9a0fd0095dcb..96dbcf860cc7e960b9b399d0c70850bcfddaf10e 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: nsupdate.c,v 1.102 2001/07/26 03:15:10 mayer Exp $ */
+/* $Id: nsupdate.c,v 1.103 2001/08/08 22:54:27 gson Exp $ */
 
 #include <config.h>
 
@@ -141,6 +141,14 @@ typedef struct nsu_requestinfo {
 static void
 sendrequest(isc_sockaddr_t *srcaddr, isc_sockaddr_t *destaddr,
            dns_message_t *msg, dns_request_t **request);
+static void
+fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
+
+static void
+debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
+
+static void
+ddebug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
 
 #define STATUS_MORE    (isc_uint16_t)0
 #define STATUS_SEND    (isc_uint16_t)1
@@ -1557,7 +1565,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
                        fatal("could not talk to specified name server");
                else if (++ns_inuse >= lwconf->nsnext)
                        fatal("could not talk to any default name server");
-               ddebug("Destroying request [%lx]", request);
+               ddebug("Destroying request [%p]", request);
                dns_request_destroy(&request);
                dns_message_renderreset(soaquery);
                sendrequest(localaddr, &servers[ns_inuse], soaquery, &request);
index 3b65c528715e5809a34bc5c69c0b694ee3c9bb4d..4c2d3198a0ba1b262a78530f8f7507f5310b9b65 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: adb_test.c,v 1.61 2001/01/09 21:40:48 bwelling Exp $ */
+/* $Id: adb_test.c,v 1.62 2001/08/08 22:54:28 gson Exp $ */
 
 #include <config.h>
 
@@ -62,6 +62,10 @@ isc_mutex_t client_lock;
 isc_stdtime_t now;
 dns_adb_t *adb;
 
+static void
+check_result(isc_result_t result, const char *format, ...)
+     ISC_FORMAT_PRINTF(2, 3);
+
 static void
 check_result(isc_result_t result, const char *format, ...) {
        va_list args;
index ca8c4db1d10d204f072813dde6ef7e5ad4ca489a..18f22322be25c5b29c755be75eeea8e55a0733b7 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: t_db.c,v 1.28 2001/05/15 05:32:53 halley Exp $ */
+/* $Id: t_db.c,v 1.29 2001/08/08 22:54:30 gson Exp $ */
 
 #include <config.h>
 
@@ -563,8 +563,6 @@ t_dns_db_class(char **av) {
        dns_rdataclass_t        rdataclass;
        dns_rdataclass_t        db_rdataclass;
        isc_textregion_t        textregion;
-       isc_buffer_t            isc_buffer;
-       char                    buf[CLASSBUFLEN];
 
        filename = T_ARG(0);
        class = T_ARG(1);
@@ -612,10 +610,11 @@ t_dns_db_class(char **av) {
        if (db_rdataclass == rdataclass)
                result = T_PASS;
        else {
-               isc_buffer_init(&isc_buffer, buf, CLASSBUFLEN);
-               dns_rdataclass_totext(db_rdataclass, &isc_buffer);
-               t_info("dns_db_class returned %.*s, expected %s\n",
-                       isc_buffer.used, isc_buffer.base, class);
+               char classbuf[DNS_RDATACLASS_FORMATSIZE];
+               dns_rdataclass_format(db_rdataclass,
+                                     classbuf, sizeof(classbuf));
+               t_info("dns_db_class returned %s, expected %s\n",
+                      classbuf, class);
                result = T_FAIL;
        }
 
@@ -1894,7 +1893,7 @@ t_dns_db_closeversion_2(char **av) {
            (dns_result == DNS_R_NXDOMAIN) ||
            (dns_result == DNS_R_NXRRSET)) {
 
-               t_info("dns_db_find %s returned %d\n", existing_name,
+               t_info("dns_db_find %s returned %s\n", existing_name,
                       dns_result_totext(dns_result));
                dns_rdataset_disassociate(&found_rdataset);
                dns_db_detachnode(db, &nodep);
index 1d875d2600ac66155bff40a1e8490438af5ab238..afdfdd8c399741a01319b84414a1de98ac102714 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: t_dst.c,v 1.46 2001/07/26 22:09:25 bwelling Exp $ */
+/* $Id: t_dst.c,v 1.47 2001/08/08 22:54:31 gson Exp $ */
 
 #include <config.h>
 
@@ -64,7 +64,7 @@ cleandir(char *path) {
 
        dirp = opendir(path);
        if (dirp == NULL) {
-               t_info("opendir(%s) failed %d\n", path, opendir);
+               t_info("opendir(%s) failed %d\n", path, errno);
                return;
        }
 
@@ -364,7 +364,7 @@ t1(void) {
        mctx = NULL;
        isc_result = isc_mem_create(0, 0, &mctx);
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("isc_mem_create failed %d\n",
+               t_info("isc_mem_create failed %s\n",
                       isc_result_totext(isc_result));
                t_result(T_UNRESOLVED);
                return;
@@ -372,21 +372,21 @@ t1(void) {
        ectx = NULL;
        isc_result = isc_entropy_create(mctx, &ectx);
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("isc_entropy_create failed %d\n",
+               t_info("isc_entropy_create failed %s\n",
                       isc_result_totext(isc_result));
                t_result(T_UNRESOLVED);
                return;
        }
        result = isc_entropy_createfilesource(ectx, "randomfile");
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("isc_entropy_create failed %d\n",
+               t_info("isc_entropy_create failed %s\n",
                       isc_result_totext(isc_result));
                t_result(T_UNRESOLVED);
                return;
        }
        isc_result = dst_lib_init(mctx, ectx, ISC_ENTROPY_BLOCKING);
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("dst_lib_init failed %d\n",
+               t_info("dst_lib_init failed %s\n",
                       isc_result_totext(isc_result));
                t_result(T_UNRESOLVED);
                return;
@@ -846,26 +846,26 @@ t2_vfy(char **av) {
        mctx = NULL;
        isc_result = isc_mem_create(0, 0, &mctx);
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("isc_mem_create failed %d\n",
+               t_info("isc_mem_create failed %s\n",
                       isc_result_totext(isc_result));
                return(T_UNRESOLVED);
        }
        ectx = NULL;
        isc_result = isc_entropy_create(mctx, &ectx);
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("isc_entropy_create failed %d\n",
+               t_info("isc_entropy_create failed %s\n",
                       isc_result_totext(isc_result));
                return(T_UNRESOLVED);
        }
        result = isc_entropy_createfilesource(ectx, "randomfile");
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("isc_entropy_create failed %d\n",
+               t_info("isc_entropy_create failed %s\n",
                       isc_result_totext(isc_result));
                return(T_UNRESOLVED);
        }
        isc_result = dst_lib_init(mctx, ectx, ISC_ENTROPY_BLOCKING);
        if (isc_result != ISC_R_SUCCESS) {
-               t_info("dst_lib_init failed %d\n",
+               t_info("dst_lib_init failed %s\n",
                       isc_result_totext(isc_result));
                return(T_UNRESOLVED);
        }
index 1d60cbf7a45800daa0c97291ba0d226ef2bb277c..0f98ec63b980254532ba2fff834f806bbe85033b 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: t_tasks.c,v 1.28 2001/04/25 01:23:13 gson Exp $ */
+/* $Id: t_tasks.c,v 1.29 2001/08/08 22:54:33 gson Exp $ */
 
 #include <config.h>
 
@@ -57,7 +57,7 @@ t1_callback(isc_task_t *task, isc_event_t *event) {
        for (i = 0; i < 1000000; i++)
                j += 100;
 
-       t_info("task %s\n", event->ev_arg);
+       t_info("task %s\n", (char *)event->ev_arg);
        isc_event_free(&event);
 }
 
@@ -65,7 +65,7 @@ static void
 t1_shutdown(isc_task_t *task, isc_event_t *event) {
        UNUSED(task);
 
-       t_info("shutdown %s\n", event->ev_arg);
+       t_info("shutdown %s\n", (char *)event->ev_arg);
        isc_event_free(&event);
 }
 
@@ -73,7 +73,7 @@ static void
 my_tick(isc_task_t *task, isc_event_t *event) {
        UNUSED(task);
 
-       t_info("%s\n", event->ev_arg);
+       t_info("%s\n", (char *)event->ev_arg);
        isc_event_free(&event);
 }
 
@@ -1316,12 +1316,12 @@ t10_event2(isc_task_t *task, isc_event_t *event) {
        tag_match = 0;
 
        if (T_debug) {
-               t_info("Event %p,%d,%d,%s\n",
+               t_info("Event %p,%d,%p,%s\n",
                       event->ev_sender,
                       (int)event->ev_type,
                       event->ev_tag,
                       event->ev_attributes & ISC_EVENTATTR_NOPURGE ?
-                               "NP" : "P");
+                      "NP" : "P");
        }
 
        if ((T10_purge_sender == 0) ||
@@ -1345,13 +1345,13 @@ t10_event2(isc_task_t *task, isc_event_t *event) {
 
        if (sender_match && type_match && tag_match) {
                if (event->ev_attributes & ISC_EVENTATTR_NOPURGE) {
-                       t_info("event %p,%d,%d matched but was not purgable\n",
+                       t_info("event %p,%d,%p matched but was not purgable\n",
                                event->ev_sender, (int)event->ev_type,
                               event->ev_tag);
                        ++T10_eventcnt;
                } else {
-                       t_info("*** event %p,%d,%d not purged\n",
-                               event->ev_sender, (int)event->ev_type,
+                       t_info("*** event %p,%d,%p not purged\n",
+                              event->ev_sender, (int)event->ev_type,
                               event->ev_tag);
                }
        } else {
index aef6ff4e068e013838e3238575ddb43461dd8fa1..911547267adebcdf9e280bcd95e4b02e2b11f94d 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: t_timers.c,v 1.21 2001/04/13 02:19:37 tale Exp $ */
+/* $Id: t_timers.c,v 1.22 2001/08/08 22:54:34 gson Exp $ */
 
 #include <config.h>
 
@@ -792,7 +792,7 @@ t5_tick_event(isc_task_t *task, isc_event_t *event) {
                                             isc_timertype_ticker, &expires,
                                             &interval, ISC_TRUE);
                if (isc_result != ISC_R_SUCCESS) {
-                       t_info("isc_timer_reset failed %d\n",
+                       t_info("isc_timer_reset failed %s\n",
                               isc_result_totext(isc_result));
                        ++T5_nfails;
                }
index 9a2ba3366afe2b84c5a89f6b96263be7a04a16c9..98c2b36f5332d4197407d06c498ae817f362438c 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: adb.c,v 1.180 2001/06/11 04:26:41 gson Exp $ */
+/* $Id: adb.c,v 1.181 2001/08/08 22:54:36 gson Exp $ */
 
 /*
  * Implementation notes
@@ -461,6 +461,9 @@ static isc_result_t find_err_map[FIND_ERR_MAX] = {
        ISC_R_NOTFOUND          /* not YET found */
 };
 
+static void
+DP(int level, const char *format, ...) ISC_FORMAT_PRINTF(2, 3);
+
 static void
 DP(int level, const char *format, ...) {
        va_list args;
index 8f29a147ff8af4114edd87d8ae600929b58eaffd..f8391be376b2f985f5b9ea64d87eea0b8140f1ea 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: callbacks.c,v 1.11 2001/01/09 21:50:41 bwelling Exp $ */
+/* $Id: callbacks.c,v 1.12 2001/08/08 22:54:37 gson Exp $ */
 
 #include <config.h>
 
 #include <dns/log.h>
 
 static void
-stdio_error_warn_callback(dns_rdatacallbacks_t *, const char *, ...);
+stdio_error_warn_callback(dns_rdatacallbacks_t *, const char *, ...)
+     ISC_FORMAT_PRINTF(2, 3);
+
+static void
+isclog_error_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(2, 3);
+
+static void
+isclog_warn_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(2, 3);
 
 /*
  * Private
index 478f5847f97990b2b2456d87ea396919a68118db..54db08e4545f1d315b8c015b8bdcf2ea6af553bb 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dispatch.c,v 1.100 2001/05/14 23:10:19 gson Exp $ */
+/* $Id: dispatch.c,v 1.101 2001/08/08 22:54:38 gson Exp $ */
 
 #include <config.h>
 
@@ -180,6 +180,10 @@ static void qid_destroy(isc_mem_t *mctx, dns_qid_t **qidp);
 
 #define LVL(x) ISC_LOG_DEBUG(x)
 
+static void
+mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(3, 4);
+
 static void
 mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...) {
        char msgbuf[2048];
@@ -197,6 +201,10 @@ mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...) {
                      level, "dispatchmgr %p: %s", mgr, msgbuf);
 }
 
+static void
+dispatch_log(dns_dispatch_t *disp, int level, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(3, 4);
+
 static void
 dispatch_log(dns_dispatch_t *disp, int level, const char *fmt, ...) {
        char msgbuf[2048];
@@ -214,6 +222,11 @@ dispatch_log(dns_dispatch_t *disp, int level, const char *fmt, ...) {
                      level, "dispatch %p: %s", disp, msgbuf);
 }
 
+static void
+request_log(dns_dispatch_t *disp, dns_dispentry_t *resp,
+           int level, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(4, 5);
+
 static void
 request_log(dns_dispatch_t *disp, dns_dispentry_t *resp,
            int level, const char *fmt, ...)
index 7e39a5831c3c36d4032212a48566a0924146779f..c24254d9b3d67beb1c993a7690e99bf0f755cab0 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: gen.c,v 1.64 2001/07/16 05:10:20 mayer Exp $ */
+/* $Id: gen.c,v 1.65 2001/08/08 22:54:39 gson Exp $ */
 
 #include <config.h>
 
@@ -84,7 +84,7 @@
 #define DIGESTTYPE "rdata->type"
 #define DIGESTDEF "use_default = ISC_TRUE"
 
-char copyright[] =
+const char copyright[] =
 "/*\n"
 " * Copyright (C) 1998%s Internet Software Consortium.\n"
 " *\n"
index f3fdd2d19b8ec9e84543e06214486cd01b2332d1..4e272e37f182d3cc6170ee8999c18dd68d180c97 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: rdata.c,v 1.146 2001/07/16 09:48:05 bwelling Exp $ */
+/* $Id: rdata.c,v 1.147 2001/08/08 22:54:41 gson Exp $ */
 
 #include <config.h>
 #include <ctype.h>
@@ -166,7 +166,8 @@ static isc_result_t
 atob_tobuffer(isc_lex_t *lexer, isc_buffer_t *target);
 
 static void
-default_fromtext_callback(dns_rdatacallbacks_t *callbacks, const char *, ...);
+default_fromtext_callback(dns_rdatacallbacks_t *callbacks, const char *, ...)
+     ISC_FORMAT_PRINTF(2, 3);
 
 static void
 fromtext_error(void (*callback)(dns_rdatacallbacks_t *, const char *, ...),
index 19dea5527e1615759152c3c38b366a85549b5365..e363a562c3db952fceb61e95c485e58a7246df60 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: request.c,v 1.62 2001/06/28 21:34:39 gson Exp $ */
+/* $Id: request.c,v 1.63 2001/08/08 22:54:42 gson Exp $ */
 
 #include <config.h>
 
@@ -120,7 +120,7 @@ static void req_connected(isc_task_t *task, isc_event_t *event);
 static void req_sendevent(dns_request_t *request, isc_result_t result);
 static void req_cancel(dns_request_t *request);
 static void req_destroy(dns_request_t *request);
-static void req_log(int level, const char *fmt, ...);
+static void req_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
 static void do_cancel(isc_task_t *task, isc_event_t *event);
 
 /***
index 5f175cf8419b00d949a5da602a9e55be5704c68c..a5b756d2ff4a6113fa6cf238b91aaa0e0eeb28f1 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 /*
- * $Id: tkey.c,v 1.70 2001/06/08 19:16:15 bwelling Exp $
+ * $Id: tkey.c,v 1.71 2001/08/08 22:54:43 gson Exp $
  */
 
 #include <config.h>
@@ -53,6 +53,9 @@
                goto failure; \
        } while (0)
 
+static void
+tkey_log(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2);
+
 static void
 tkey_log(const char *fmt, ...) {
        va_list ap;
index ff44f7d63f199111794f7142f6a6a8da07356962..0e0921105dc18edf5d903e5793f0c9eacb2fdd3d 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 /*
- * $Id: tsig.c,v 1.111 2001/07/26 20:54:35 bwelling Exp $
+ * $Id: tsig.c,v 1.112 2001/08/08 22:54:44 gson Exp $
  */
 
 #include <config.h>
@@ -99,6 +99,10 @@ dns_name_t *dns_tsig_gssapims_name = &gsstsigms;
 static isc_result_t
 tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg);
 
+static void
+tsig_log(dns_tsigkey_t *key, int level, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(3, 4);
+
 static void
 tsig_log(dns_tsigkey_t *key, int level, const char *fmt, ...) {
        va_list ap;
index 60cd862230e598101a0419c606503386b0880dfd..5f10785e7d48e30837b7a968c838c2054c53742b 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: validator.c,v 1.90 2001/06/04 19:33:15 tale Exp $ */
+/* $Id: validator.c,v 1.91 2001/08/08 22:54:45 gson Exp $ */
 
 #include <config.h>
 
@@ -68,7 +68,8 @@ static inline isc_result_t
 proveunsecure(dns_validator_t *val, isc_boolean_t resume);
 
 static void
-validator_log(dns_validator_t *val, int level, const char *fmt, ...);
+validator_log(dns_validator_t *val, int level, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(3, 4);
 
 static void
 validator_done(dns_validator_t *val, isc_result_t result) {
@@ -325,7 +326,7 @@ keyvalidated(isc_task_t *task, isc_event_t *event) {
        LOCK(&val->lock);
        if (eresult == ISC_R_SUCCESS) {
                validator_log(val, ISC_LOG_DEBUG(3),
-                             "keyset with trust %d", &val->frdataset.trust);
+                             "keyset with trust %d", val->frdataset.trust);
                /*
                 * Only extract the dst key if the keyset is secure.
                 */
@@ -1607,6 +1608,10 @@ dns_validator_destroy(dns_validator_t **validatorp) {
 }
 
 
+static void
+validator_logv(dns_validator_t *val, isc_logcategory_t *category,
+              isc_logmodule_t *module, int level, const char *fmt, va_list ap)
+     ISC_FORMAT_PRINTF(5, 0);
 
 static void
 validator_logv(dns_validator_t *val, isc_logcategory_t *category,
index 840f583485889a0d6b199075ebf53c68c2988b94..20039f438501cae74f0dcfcc2782206a5c0fa03f 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: xfrin.c,v 1.123 2001/06/07 20:11:30 gson Exp $ */
+/* $Id: xfrin.c,v 1.124 2001/08/08 22:54:46 gson Exp $ */
 
 #include <config.h>
 
@@ -224,13 +224,17 @@ render(dns_message_t *msg, isc_mem_t *mctx, isc_buffer_t *buf);
 
 static void
 xfrin_logv(int level, dns_name_t *zonename, dns_rdataclass_t rdclass,
-          isc_sockaddr_t *masteraddr, const char *fmt, va_list ap);
+          isc_sockaddr_t *masteraddr, const char *fmt, va_list ap)
+     ISC_FORMAT_PRINTF(5, 0);
+
 static void
 xfrin_log1(int level, dns_name_t *zonename, dns_rdataclass_t rdclass,
-          isc_sockaddr_t *masteraddr, const char *fmt, ...);
-static void
-xfrin_log(dns_xfrin_ctx_t *xfr, unsigned int level, const char *fmt, ...);
+          isc_sockaddr_t *masteraddr, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(5, 6);
 
+static void
+xfrin_log(dns_xfrin_ctx_t *xfr, unsigned int level, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(3, 4);
 
 /**************************************************************************/
 /*
index 14f839a5d5d83bed2377289fe5d0132c65546ed1..c6ca871e1015b20350c6a7e82a1fc15fe78d0b8b 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.331 2001/07/19 05:08:03 marka Exp $ */
+/* $Id: zone.c,v 1.332 2001/08/08 22:54:48 gson Exp $ */
 
 #include <config.h>
 
@@ -364,8 +364,9 @@ struct dns_io {
 static void zone_settimer(dns_zone_t *, isc_stdtime_t);
 static void cancel_refresh(dns_zone_t *);
 static void zone_debuglog(dns_zone_t *zone, const char *, int debuglevel,
-                         const char *msg, ...);
-static void notify_log(dns_zone_t *zone, int level, const char *fmt, ...);
+                         const char *msg, ...) ISC_FORMAT_PRINTF(4, 5);
+static void notify_log(dns_zone_t *zone, int level, const char *fmt, ...)
+     ISC_FORMAT_PRINTF(3, 4);
 static void queue_xfrin(dns_zone_t *zone);
 static void zone_unload(dns_zone_t *zone);
 static void zone_expire(dns_zone_t *zone);
@@ -4554,7 +4555,7 @@ notify_done(isc_task_t *task, isc_event_t *event) {
        if (result == ISC_R_SUCCESS)
                notify_log(notify->zone, ISC_LOG_DEBUG(3),
                           "notify response from %s: %.*s",
-                          addrbuf, buf.used, rcode);
+                          addrbuf, (int)buf.used, rcode);
        else
                notify_log(notify->zone, ISC_LOG_DEBUG(1),
                           "notify to %s failed: %s", addrbuf,
index 73742b3518cc402819bf0359335a31e4de2563d3..ed0469d1017bca366e0db424ac6547e660229fa1 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: error.c,v 1.15 2001/01/09 21:56:00 bwelling Exp $ */
+/* $Id: error.c,v 1.16 2001/08/08 22:54:49 gson Exp $ */
 
 #include <config.h>
 
 #include <isc/msgs.h>
 
 static void
-default_unexpected_callback(const char *, int, const char *, va_list);
+default_unexpected_callback(const char *, int, const char *, va_list)
+     ISC_FORMAT_PRINTF(3, 0);
 
 static void
-default_fatal_callback(const char *, int, const char *, va_list);
+default_fatal_callback(const char *, int, const char *, va_list)
+     ISC_FORMAT_PRINTF(3, 0);
 
 static isc_errorcallback_t unexpected_callback = default_unexpected_callback;
 static isc_errorcallback_t fatal_callback = default_fatal_callback;
index 3110bca2dbce42a8ab43a1008f7a553e97bf8a31..025dcd85d2c201914c13a47a96f1dae978757f42 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: log.c,v 1.69 2001/07/12 05:58:19 mayer Exp $ */
+/* $Id: log.c,v 1.70 2001/08/08 22:54:51 gson Exp $ */
 
 /* Principal Authors: DCL */
 
@@ -232,7 +232,8 @@ static void
 isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category,
             isc_logmodule_t *module, int level, isc_boolean_t write_once,
             isc_msgcat_t *msgcat, int msgset, int msg,
-            const char *format, va_list args);
+            const char *format, va_list args)
+     ISC_FORMAT_PRINTF(9, 0);
 
 /*
  * Convenience macros.
index 2690e51cca6dc5116f95a48f4c9a9402266f7783..bdfd6d60e9043707bb8b78696480a2591725dc00 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: socket.c,v 1.204 2001/07/15 22:50:24 gson Exp $ */
+/* $Id: socket.c,v 1.205 2001/08/08 22:54:52 gson Exp $ */
 
 #include <config.h>
 
@@ -35,6 +35,7 @@
 #include <isc/buffer.h>
 #include <isc/bufferlist.h>
 #include <isc/condition.h>
+#include <isc/formatcheck.h>
 #include <isc/list.h>
 #include <isc/log.h>
 #include <isc/mem.h>
@@ -269,6 +270,10 @@ static void build_msghdr_recv(isc_socket_t *, isc_socketevent_t *,
 
 #define SOCK_DEAD(s)                   ((s)->references == 0)
 
+static void
+manager_log(isc_socketmgr_t *sockmgr,
+           isc_logcategory_t *category, isc_logmodule_t *module, int level,
+           const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6);
 static void
 manager_log(isc_socketmgr_t *sockmgr,
            isc_logcategory_t *category, isc_logmodule_t *module, int level,
@@ -288,6 +293,11 @@ manager_log(isc_socketmgr_t *sockmgr,
                      "sockmgr %p: %s", sockmgr, msgbuf);
 }
 
+static void
+socket_log(isc_socket_t *sock, isc_sockaddr_t *address,
+          isc_logcategory_t *category, isc_logmodule_t *module, int level,
+          isc_msgcat_t *msgcat, int msgset, int message,
+          const char *fmt, ...) ISC_FORMAT_PRINTF(9, 10);
 static void
 socket_log(isc_socket_t *sock, isc_sockaddr_t *address,
           isc_logcategory_t *category, isc_logmodule_t *module, int level,
index 1fc6e9972f36ec85a6f6c89c190d9b28ce5f50d0..b7cedff62dd6c3be1f2ac6d7b29fe9d1cbfda867 100644 (file)
@@ -17,7 +17,7 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static char rcsid[] =
-       "$Id: lwinetntop.c,v 1.8 2001/01/25 20:10:02 gson Exp $";
+       "$Id: lwinetntop.c,v 1.9 2001/08/08 22:54:54 gson Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 #include <config.h>
@@ -81,7 +81,7 @@ lwres_net_ntop(int af, const void *src, char *dst, size_t size) {
  */
 static const char *
 inet_ntop4(const unsigned char *src, char *dst, size_t size) {
-       static const char *fmt = "%u.%u.%u.%u";
+       static const char fmt[] = "%u.%u.%u.%u";
        char tmp[sizeof "255.255.255.255"];
 
        if ((size_t)sprintf(tmp, fmt, src[0], src[1], src[2], src[3]) >= size)
index 7e925c549d9980ff3e7fe458885216e873fdac89..390c60cb8cd1aa4ee1d3faf1cf0585456f6d3e02 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: t_api.h,v 1.13 2001/01/09 22:00:40 bwelling Exp $ */
+/* $Id: t_api.h,v 1.14 2001/08/08 22:54:55 gson Exp $ */
 
 #ifndef TESTS_T_API_H
 #define TESTS_T_API_H 1
@@ -24,6 +24,7 @@
 
 #include <isc/lang.h>
 #include <isc/result.h>
+#include <isc/formatcheck.h>
 
 /*
  *
@@ -66,10 +67,11 @@ extern      testspec_t T_testlist[];
 ISC_LANG_BEGINDECLS
 
 void
-t_assert(const char *component, int anum, int class, const char *what, ...);
+t_assert(const char *component, int anum, int class, const char *what, ...)
+     ISC_FORMAT_PRINTF(4, 5);
 
 void
-t_info(const char *format, ...);
+t_info(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
 
 void
 t_result(int result);