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());
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());