diff --git a/src/SquidConfig.h b/src/SquidConfig.h index ae2d72cc763..a21f7b16bad 100644 --- a/src/SquidConfig.h +++ b/src/SquidConfig.h @@ -243,7 +243,7 @@ class SquidConfig } Addrs; size_t tcpRcvBufsz; size_t udpMaxHitObjsz; - wordlist *mcast_group_list; + SBufList mcast_group_list; CachePeers *peers; int npeers; diff --git a/src/cf.data.pre b/src/cf.data.pre index 898fc9af48d..16addd4c507 100644 --- a/src/cf.data.pre +++ b/src/cf.data.pre @@ -8753,7 +8753,7 @@ COMMENT_START COMMENT_END NAME: mcast_groups -TYPE: wordlist +TYPE: SBufList LOC: Config.mcast_group_list DEFAULT: none DOC_START diff --git a/src/icp_v2.cc b/src/icp_v2.cc index cc9c76306f9..2b82e21f56b 100644 --- a/src/icp_v2.cc +++ b/src/icp_v2.cc @@ -739,8 +739,10 @@ icpIncomingConnectionOpened(Ipc::StartListeningAnswer &answer) Comm::SetSelect(conn->fd, COMM_SELECT_READ, icpHandleUdp, nullptr, 0); - for (const wordlist *s = Config.mcast_group_list; s; s = s->next) - ipcache_nbgethostbyname(s->key, mcastJoinGroups, nullptr); // XXX: pass the conn for mcastJoinGroups usage. + for (const auto &groupName : Config.mcast_group_list) { + SBuf tmp(groupName); // XXX: c_str() may reallocate + ipcache_nbgethostbyname(tmp.c_str(), mcastJoinGroups, nullptr); // XXX: pass the conn for mcastJoinGroups usage. + } debugs(12, DBG_IMPORTANT, "Accepting ICP messages on " << conn->local);