From 1a4eaaabc5f336cf401fdcb6f65b5bfb87769907 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Thu, 19 Sep 2019 09:11:23 +0200 Subject: [PATCH] - Fix #78: Memory leak in outside_network.c. --- doc/Changelog | 3 +++ services/outside_network.c | 10 ++-------- 2 files changed, 5 insertions(+), 8 deletions(-) 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; } } -- 2.47.3