]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] address valgrind warnings
authorEvan Hunt <each@isc.org>
Tue, 10 Feb 2015 22:01:38 +0000 (14:01 -0800)
committerEvan Hunt <each@isc.org>
Tue, 10 Feb 2015 22:01:38 +0000 (14:01 -0800)
4059. [bug] Addressed valgrind warnings. [RT #38549]

CHANGES
bin/named/interfacemgr.c
bin/named/server.c
lib/dns/nta.c
lib/isc/unix/net.c

diff --git a/CHANGES b/CHANGES
index d260548a1de7b9f0509dd8f840410431873b236c..5401e2729f3f396b272d830609cd319f1fd7e73b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+4059.  [bug]           Addressed valgrind warnings. [RT #38549]
+
 4058.  [bug]           UDP dispatches could use the wrong psuedorandom
                        number generator context. [RT #38578]
 
index 515fb0f92c081163cf815256fec99a96eb95e05a..034a24324ff0789e019eed8d7a6228f5d374be1f 100644 (file)
@@ -1053,7 +1053,7 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen,
                                if (le->dscp != -1 && ifp->dscp == -1)
                                        ifp->dscp = le->dscp;
                                else if (le->dscp != ifp->dscp) {
-                                       isc_sockaddr_format(&listen_addr,
+                                       isc_sockaddr_format(&listen_sockaddr,
                                                            sabuf,
                                                            sizeof(sabuf));
                                        isc_log_write(IFMGR_COMMON_LOGARGS,
index 3031fc2efdb33a667d6d16a9f4a118bb69228442..7a1a905ecc0cd92086f05eb95cc604476fee0ce9 100644 (file)
@@ -9858,7 +9858,7 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t **text) {
        isc_boolean_t chain = ISC_FALSE;
        isc_boolean_t setserial = ISC_FALSE;
        isc_uint32_t serial = 0;
-       char keystr[DNS_SECALG_FORMATSIZE + 7];
+       char keystr[DNS_SECALG_FORMATSIZE + 7]; /* <5-digit keyid>/<alg> */
        unsigned short hash = 0, flags = 0, iter = 0, saltlen = 0;
        unsigned char salt[255];
        const char *ptr;
@@ -9884,7 +9884,7 @@ ns_server_signing(ns_server_t *server, char *args, isc_buffer_t **text) {
                ptr = next_token(&args, " \t");
                if (ptr == NULL)
                        return (ISC_R_UNEXPECTEDEND);
-               memmove(keystr, ptr, sizeof(keystr));
+               strlcpy(keystr, ptr, sizeof(keystr));
        } else if (strcasecmp(ptr, "-nsec3param") == 0) {
                const char *hashstr, *flagstr, *iterstr;
                char nbuf[512];
index 1e472909c2802617fc3f1e390384d444cd9899bc..14e2f8e4753280cb27702aecdcb667dc51cdde19 100644 (file)
@@ -688,7 +688,7 @@ dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) {
                                name = dns_fixedname_name(&fn);
                                dns_rbt_fullnamefromnode(node, name);
 
-                               isc_buffer_init(&b, nbuf, sizeof(nbuf) - 1);
+                               isc_buffer_init(&b, nbuf, sizeof(nbuf));
                                result = dns_name_totext(name, ISC_FALSE, &b);
                                if (result != ISC_R_SUCCESS)
                                        goto skip;
@@ -699,6 +699,9 @@ dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) {
                                isc_buffer_init(&b, tbuf, sizeof(tbuf));
                                dns_time32_totext(n->expiry, &b);
 
+                               /* Zero terminate. */
+                               isc_buffer_putuint8(&b, 0);
+
                                fprintf(fp, "%s %s %s\n", nbuf,
                                        n->forced ? "forced" : "regular",
                                        tbuf);
index 0810e4a003d029ed80353efe2d904ca1f116d3b0..4b75594d16ee3b23560377c052a7517404d08803 100644 (file)
@@ -519,6 +519,8 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) {
                return (ISC_FALSE);
        }
 
+       memset(&control, 0, sizeof(control));
+
        iovec.iov_base = buf;
        iovec.iov_len = sizeof(buf);