From fe41e23f95350953efd7144ebada32fe6c04c3d8 Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Sat, 6 Aug 2016 10:00:51 +1200 Subject: [PATCH] Cleanup: remove some minor memory leaks on config parser self_destruct Identified by Coverity Scan. ID 1364742, 1364744. --- src/acl/Ip.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/acl/Ip.cc b/src/acl/Ip.cc index 370e50a776..153bcc6b1e 100644 --- a/src/acl/Ip.cc +++ b/src/acl/Ip.cc @@ -373,9 +373,9 @@ acl_ip_data::FactoryParse(const char *t) int errcode = getaddrinfo(addr1,NULL,&hints,&hp); if (hp == NULL) { + delete q; if (strcmp(addr1, "::1") == 0) { debugs(28, DBG_IMPORTANT, "aclIpParseIpData: IPv6 has not been enabled in host DNS resolver."); - delete q; } else { debugs(28, DBG_CRITICAL, "aclIpParseIpData: Bad host/IP: '" << addr1 << "' in '" << t << "', flags=" << hints.ai_flags << @@ -413,14 +413,14 @@ acl_ip_data::FactoryParse(const char *t) debugs(28, 3, "" << addr1 << " --> " << r->addr1 ); } + freeaddrinfo(hp); + if (*Q != NULL) { debugs(28, DBG_CRITICAL, "aclIpParseIpData: Bad host/IP: '" << t << "'"); self_destruct(); return NULL; } - freeaddrinfo(hp); - return q; } -- 2.47.2