From b2187b85bb08ddb16f22e4b5e17b5b19f1bac9ce Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Thu, 27 Sep 2012 04:10:21 -0600 Subject: [PATCH] Small memory leak in src ACL parse Fixes one minor memory leak when IPv6 is disabled and parsing an IPv6 address. For example the default localhost ACL ::1 value. Caught by Valgrind: ==26647== 384 bytes in 4 blocks are definitely lost in loss record 1,132 of 1,726 ==26647== at 0x4C25A28: calloc (vg_replace_malloc.c:467) ==26647== by 0x65B441: xcalloc (xalloc.cc:75) ==26647== by 0x657B99: MemPoolMalloc::allocate() (MemPoolMalloc.cc:62) ==26647== by 0x5A95B1: acl_ip_data::FactoryParse(char const*) (Ip.h:66) ==26647== by 0x5AA8BD: ACLIP::parse() (Ip.cc:523) ==26647== by 0x5E0A80: ACL::ParseAclLine(ConfigParser&, ACL**) (Acl.cc:174) ==26647== by 0x4B0C0F: parse_line(char*) (cache_cf.cc:1252) ==26647== by 0x4B2076: parseOneConfigFile(char const*, unsigned int) (cache_cf.cc:518) ==26647== by 0x4B29D0: parseConfigFile(char const*) (cache_cf.cc:558) ==26647== by 0x546B81: SquidMain(int, char**) (main.cc:1372) ==26647== by 0x547445: main (main.cc:1215) --- src/acl/Ip.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/acl/Ip.cc b/src/acl/Ip.cc index 710bb90a4c..ad3f8a2622 100644 --- a/src/acl/Ip.cc +++ b/src/acl/Ip.cc @@ -469,6 +469,7 @@ acl_ip_data::FactoryParse(const char *t) /* ignore IPv6 addresses when built with IPv4-only */ if ( iptype == AF_INET6 && !Ip::EnableIpv6) { debugs(28, DBG_IMPORTANT, "aclIpParseIpData: IPv6 has not been enabled."); + delete q; return NULL; } -- 2.47.2