From 1238b7979f5c2a2ed6cfbfa53ea2cfd0b954f738 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Sat, 24 Dec 2011 11:27:53 +0000 Subject: [PATCH] - Fix for memory leak (about 20 bytes when a tcp or udp send operation towards authority servers failed, takes about 50.000 such failures to leak one Mb, such failures are also usually logged), reported by Robert Fleischmann. git-svn-id: file:///svn/unbound/trunk@2578 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 6 ++++++ services/outside_network.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/doc/Changelog b/doc/Changelog index 70d4a629d..49c23f0b6 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,9 @@ +24 December 2011: Wouter + - Fix for memory leak (about 20 bytes when a tcp or udp send operation + towards authority servers failed, takes about 50.000 such failures to + leak one Mb, such failures are also usually logged), reported by + Robert Fleischmann. + 19 December 2011: Wouter - Fix for VU#209659 CVE-2011-4528: Unbound denial of service vulnerabilities from nonstandard redirection and denial of existence diff --git a/services/outside_network.c b/services/outside_network.c index fef3c002f..7fd408e79 100644 --- a/services/outside_network.c +++ b/services/outside_network.c @@ -1824,6 +1824,7 @@ outnet_serviced_query(struct outside_network* outnet, if(!serviced_udp_send(sq, buff)) { (void)rbtree_delete(outnet->serviced, sq); free(sq->qbuf); + free(sq->zone); free(sq); free(cb); return NULL; @@ -1832,6 +1833,7 @@ outnet_serviced_query(struct outside_network* outnet, if(!serviced_tcp_send(sq, buff)) { (void)rbtree_delete(outnet->serviced, sq); free(sq->qbuf); + free(sq->zone); free(sq); free(cb); return NULL; -- 2.47.2