Fix memory leaks
[platform/framework/native/appfw.git] / src / security / FSec_PrivilegeManager.cpp
index d6ce9ec..441e44c 100644 (file)
@@ -191,7 +191,10 @@ _PrivilegeManager::RetrieveCipherPrivilegeN(const AppId& appId, Tizen::Base::Str
        pPrivilegeList = new ArrayList;
        r = pPrivilegeList->Construct();
 
-       IEnumerator* pEnum = tempPrivilegeList.GetEnumeratorN();
+       std::unique_ptr<IEnumerator> pEnum(null);
+       pEnum.reset(tempPrivilegeList.GetEnumeratorN());
+       SysTryReturnResult(NID_SEC, pEnum != null, E_SYSTEM, "An unexpected system error occurred.");
+
        while (pEnum->MoveNext() == E_SUCCESS)
        {
                String* tempString = static_cast< String* >(pEnum->GetCurrent());
@@ -245,7 +248,10 @@ _PrivilegeManager::RetrieveCipherPrivilegeExN(const AppId& appId, Tizen::Base::S
        pPrivilegeList = new ArrayList;
        r = pPrivilegeList->Construct();
 
-       IEnumerator* pEnum = tempPrivilegeList.GetEnumeratorN();
+       std::unique_ptr<IEnumerator> pEnum(null);
+       pEnum.reset(tempPrivilegeList.GetEnumeratorN());
+       SysTryReturnResult(NID_SEC, pEnum != null, E_SYSTEM, "An unexpected system error occurred.");
+
        while (pEnum->MoveNext() == E_SUCCESS)
        {
                String* tempString = static_cast< String* >(pEnum->GetCurrent());