]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix #78: Memory leak in outside_network.c.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 19 Sep 2019 07:11:23 +0000 (09:11 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 19 Sep 2019 07:11:23 +0000 (09:11 +0200)
doc/Changelog
services/outside_network.c

index 8fac8f128fa985cffc9cf8b8ca508888a458647c..5637f1925fd624cc37d69977e29fd42275b1c2c4 100644 (file)
@@ -1,3 +1,6 @@
+19 September 2019: Wouter
+       - Fix #78: Memory leak in outside_network.c.
+
 11 September 2019: Wouter
        - Use explicit bzero for wiping clear buffer of hash in cachedb,
          reported by Eric Sesterhenn from X41 D-Sec.
index 0323f1b30c93e9de016cabefba02e611118ef974..bb91f57f6774e1d511da457e6b18f5d62074fadd 100644 (file)
@@ -2134,19 +2134,13 @@ outnet_serviced_query(struct outside_network* outnet,
                if(outnet->do_udp && !(tcp_upstream || ssl_upstream)) {
                        if(!serviced_udp_send(sq, buff)) {
                                (void)rbtree_delete(outnet->serviced, sq);
-                               free(sq->qbuf);
-                               free(sq->zone);
-                               free(sq);
-                               free(cb);
+                               serviced_node_del(&sq->node, NULL);
                                return NULL;
                        }
                } else {
                        if(!serviced_tcp_send(sq, buff)) {
                                (void)rbtree_delete(outnet->serviced, sq);
-                               free(sq->qbuf);
-                               free(sq->zone);
-                               free(sq);
-                               free(cb);
+                               serviced_node_del(&sq->node, NULL);
                                return NULL;
                        }
                }