Context::getSecurityPlugins() no return of non-const ref.

Return of map as non-const ref. allows callers to modify.
Probably unintended.
This commit is contained in:
Michael Davidsaver
2018-04-04 09:09:43 -07:00
parent 3859793405
commit fe5780521b
6 changed files with 14 additions and 16 deletions

View File

@@ -1518,12 +1518,11 @@ void BlockingServerTCPTransportCodec::send(ByteBuffer* buffer,
buffer->putShort(0x7FFF);
// list of authNZ plugin names
map<string, SecurityPlugin::shared_pointer>& securityPlugins = _context->getSecurityPlugins();
const Context::securityPlugins_t& securityPlugins = _context->getSecurityPlugins();
vector<string> validSPNames;
validSPNames.reserve(securityPlugins.size());
for (map<string, SecurityPlugin::shared_pointer>::const_iterator iter =
securityPlugins.begin();
for (Context::securityPlugins_t::const_iterator iter(securityPlugins.begin());
iter != securityPlugins.end(); iter++)
{
SecurityPlugin::shared_pointer securityPlugin = iter->second;
@@ -1616,8 +1615,7 @@ void BlockingServerTCPTransportCodec::authNZInitialize(const std::string& securi
// check if plug-in name is valid
SecurityPlugin::shared_pointer securityPlugin;
map<string, SecurityPlugin::shared_pointer>::iterator spIter =
_context->getSecurityPlugins().find(securityPluginName);
Context::securityPlugins_t::const_iterator spIter(_context->getSecurityPlugins().find(securityPluginName));
if (spIter != _context->getSecurityPlugins().end())
securityPlugin = spIter->second;
if (!securityPlugin)
@@ -1921,13 +1919,12 @@ void BlockingClientTCPTransportCodec::authNZInitialize(const std::vector<std::st
{
if (!offeredSecurityPlugins.empty())
{
map<string, SecurityPlugin::shared_pointer>& availableSecurityPlugins =
_context->getSecurityPlugins();
const Context::securityPlugins_t& availableSecurityPlugins(_context->getSecurityPlugins());
for (vector<string>::const_iterator offeredSP = offeredSecurityPlugins.begin();
offeredSP != offeredSecurityPlugins.end(); offeredSP++)
{
map<string, SecurityPlugin::shared_pointer>::iterator spi = availableSecurityPlugins.find(*offeredSP);
Context::securityPlugins_t::const_iterator spi(availableSecurityPlugins.find(*offeredSP));
if (spi != availableSecurityPlugins.end())
{
SecurityPlugin::shared_pointer securityPlugin = spi->second;