From: W.C.A. Wijngaards Date: Thu, 19 Sep 2019 07:11:23 +0000 (+0200) Subject: - Fix #78: Memory leak in outside_network.c. X-Git-Tag: release-1.9.6rc1~113 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a4eaaabc5f336cf401fdcb6f65b5bfb87769907;p=thirdparty%2Funbound.git - Fix #78: Memory leak in outside_network.c. --- diff --git a/doc/Changelog b/doc/Changelog index 8fac8f128..5637f1925 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -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. diff --git a/services/outside_network.c b/services/outside_network.c index 0323f1b30..bb91f57f6 100644 --- a/services/outside_network.c +++ b/services/outside_network.c @@ -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; } }