Fix prevent issue for package manager
[platform/framework/native/appfw.git] / src / app / package / FAppPkg_PackageInfoImpl.cpp
index 40421d2..4750878 100755 (executable)
@@ -322,10 +322,10 @@ _PackageInfoImpl::GetPackageAppInfoListN(void)
                        PackageAppInfo* pPackageAppInfo = dynamic_cast <PackageAppInfo*>(__pPackageAppInfoList->GetAt(i));
                        if (pPackageAppInfo)
                        {
-                               PackageAppInfo* pInfo = new (std::nothrow) PackageAppInfo;
+                               std::unique_ptr< PackageAppInfo > pInfo(new (std::nothrow) PackageAppInfo);
                                SysTryReturn(NID_APP, pInfo, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Insufficient memory");
 
-                               _PackageAppInfoImpl* pPackageAppInfoImpl = _PackageAppInfoImpl::GetInstance(pInfo);
+                               _PackageAppInfoImpl* pPackageAppInfoImpl = _PackageAppInfoImpl::GetInstance(pInfo.get());
                                SysTryReturn(NID_APP, pPackageAppInfoImpl, null, E_SYSTEM, "pPackageAppInfoImpl is null.");
 
                                AppId appId = pPackageAppInfo->GetAppId();
@@ -340,7 +340,7 @@ _PackageInfoImpl::GetPackageAppInfoListN(void)
                                pPackageAppInfoImpl->SetMenuIconVisible(menuIconVisible);
                                pPackageAppInfoImpl->SetMainApp(mainApp);
 
-                               r = pList->Add(*pInfo);
+                               r = pList->Add(*pInfo.release());
                        }
                 }
        }
@@ -395,10 +395,10 @@ _PackageInfoImpl::GetPackageAppInfoN(const AppId& appId) const
                                _PackageAppInfoImpl* pPackageAppInfoImpl = _PackageAppInfoImpl::GetInstance(pPackageAppInfo);
                                SysTryReturn(NID_APP, pPackageAppInfoImpl, null, E_SYSTEM, "pPackageAppInfoImpl is null.");
 
-                               PackageAppInfo* pInfo = new (std::nothrow) PackageAppInfo;
+                               std::unique_ptr< PackageAppInfo > pInfo(new (std::nothrow) PackageAppInfo);
                                SysTryReturn(NID_APP, pInfo, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Insufficient memory");
 
-                               _PackageAppInfoImpl* pImpl = _PackageAppInfoImpl::GetInstance(pInfo);
+                               _PackageAppInfoImpl* pImpl = _PackageAppInfoImpl::GetInstance(pInfo.get());
                                SysTryReturn(NID_APP, pImpl, null, E_SYSTEM, "pImpl is null.");
 
                                String appName = pPackageAppInfo->GetAppName();
@@ -414,7 +414,7 @@ _PackageInfoImpl::GetPackageAppInfoN(const AppId& appId) const
                                pImpl->SetMainApp(mainApp);
                                pImpl->SetAppTempIconPath(tempIconPath);
 
-                               return pInfo;
+                               return pInfo.release();
                        }
                 }
        }