diff --git a/iocore/net/SSLUtils.cc b/iocore/net/SSLUtils.cc index 39a160dfbc6..c865d497281 100644 --- a/iocore/net/SSLUtils.cc +++ b/iocore/net/SSLUtils.cc @@ -2031,23 +2031,26 @@ SSLMultiCertConfigLoader::load_certs_and_cross_reference_names(std::vector new_set; - new_set.insert(name); + new_set.insert(*common_iter); unique_names.insert({cert_index - 1, new_set}); } else { - iter->second.insert(name); + iter->second.insert(*common_iter); } - auto erase_iter = common_names.find(name); + auto erase_iter = common_iter; + ++common_iter; common_names.erase(erase_iter); } else { // New name already in common set, go ahead and remove it from further consideration name_set.erase(iter); + ++common_iter; } } // Anything still in name_set was not in common_names