소스 검색

HPCC-18301 Memory leaks in ldapsecurity dll when authorizing a user

Resource permission cache was not release a map entry, resulting in a leak.
This PR releases that object before erasing to object that references it

Signed-off-by: Russ Whitehead <william.whitehead@lexisnexis.com>
Russ Whitehead 7 년 전
부모
커밋
68ed4fd160
1개의 변경된 파일1개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      system/security/shared/caching.cpp

+ 1 - 0
system/security/shared/caching.cpp

@@ -158,6 +158,7 @@ void CResPermissionsCache::add( IArrayOf<ISecResource>& resources )
                     break;
                     break;
                 }
                 }
             }
             }
+            resParamCacheEntry.second->Release();
             m_resAccessMap.erase(SecCacheKeyEntry(resource, resourcetype));
             m_resAccessMap.erase(SecCacheKeyEntry(resource, resourcetype));
         }
         }
 #ifdef _DEBUG
 #ifdef _DEBUG