]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3719. [bug] Address memory leak in in peer.c. [RT #35255]
authorMark Andrews <marka@isc.org>
Wed, 29 Jan 2014 20:54:52 +0000 (07:54 +1100)
committerMark Andrews <marka@isc.org>
Wed, 29 Jan 2014 20:54:52 +0000 (07:54 +1100)
CHANGES
bin/tests/system/resolver/ns1/named.conf
lib/dns/peer.c

diff --git a/CHANGES b/CHANGES
index cdc454756bd6909a9a2d8f67a15fded7b773caa4..db812b5db34997d23673b7658d241035a88ec82b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+3719.  [bug]           Address memory leak in in peer.c. [RT #35255]
+
 3718.  [bug]           A missing ISC_LINK_INIT in log.c. [RT #35260]
 
 3717.  [port]          hpux: Treat EOPNOTSUPP as a expected error code when
index 95d233e8c677300ddb25469556399f13845a13c3..ff6a522b9e4662578d85ebe0ade130bf94126145 100644 (file)
@@ -37,6 +37,18 @@ options {
        allow-query {!10.53.0.8; any; };
 };
 
+server 10.42.23.3/32 {
+     notify-source 10.42.22.1;
+     query-source address 10.42.22.1 port 0;
+     transfer-source 10.42.22.1;
+};
+
+server fd92:7065:b8e:ffff::1000 {
+     notify-source-v6 fd92:7065:b8e:ffff::1001;
+     query-source-v6 address fd92:7065:b8e:ffff::1001 port 0;
+     transfer-source-v6 fd92:7065:b8e:ffff::1001;
+};
+
 zone "." {
        type hint;
        file "root.hint";
index ce4770087acfb06ab60d7a1b8b9488d61a3dd430..6431b02364f273f8955d441edbcf95ecbf71573c 100644 (file)
@@ -300,10 +300,15 @@ peer_delete(dns_peer_t **peer) {
                isc_mem_put(mem, p->key, sizeof(dns_name_t));
        }
 
-       if (p->transfer_source != NULL) {
+       if (p->query_source != NULL)
+               isc_mem_put(mem, p->query_source, sizeof(*p->query_source));
+
+       if (p->notify_source != NULL)
+               isc_mem_put(mem, p->notify_source, sizeof(*p->notify_source));
+
+       if (p->transfer_source != NULL)
                isc_mem_put(mem, p->transfer_source,
                            sizeof(*p->transfer_source));
-       }
 
        isc_mem_put(mem, p, sizeof(*p));