浏览代码

HPCC-22398 Avoid operator[] on STL map lookup

operator[] automatically inserts an entry if the key is not
found.

Signed-off-by: Jake Smith <jake.smith@lexisnexisrisk.com>
Jake Smith 6 年之前
父节点
当前提交
8b92a9a19c
共有 1 个文件被更改,包括 15 次插入3 次删除
  1. 15 3
      common/environment/environment.cpp

+ 15 - 3
common/environment/environment.cpp

@@ -320,19 +320,31 @@ public:
     {
         synchronized procedure(safeCache);
         ensureClusterGroupKeyMap();
-        return keyGroupMap[group].c_str();
+        auto it = keyGroupMap.find(group);
+        if (it == keyGroupMap.end())
+            return nullptr;
+        else
+            return it->second.c_str();
     }
     virtual const char *getPublicKeyPath(const char *keyPairName) const override
     {
         synchronized procedure(safeCache);
         ensureClusterGroupKeyMap();
-        return keyPairMap[keyPairName].publicKey.c_str();
+        auto it = keyPairMap.find(keyPairName);
+        if (it == keyPairMap.end())
+            return nullptr;
+        else
+            return it->second.publicKey.c_str();
     }
     virtual const char *getPrivateKeyPath(const char *keyPairName) const override
     {
         synchronized procedure(safeCache);
         ensureClusterGroupKeyMap();
-        return keyPairMap[keyPairName].privateKey.c_str();
+        auto it = keyPairMap.find(keyPairName);
+        if (it == keyPairMap.end())
+            return nullptr;
+        else
+            return it->second.privateKey.c_str();
     }
     virtual const char *getFileAccessUrl() const
     {