소스 검색

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
     {