From cbd371411cddf05d6ff08097a64e5ad2d339f169 Mon Sep 17 00:00:00 2001 From: Young Ik Cho Date: Sat, 20 Apr 2013 15:15:32 +0900 Subject: [PATCH] fix memory leak for AppControl Change-Id: Ia38f3d47402890e18d6226c43ab84f4e3de14fa6 Signed-off-by: Young Ik Cho --- src/app/FApp_AppManagerImpl.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/app/FApp_AppManagerImpl.cpp b/src/app/FApp_AppManagerImpl.cpp index 9151e72..9227eb7 100755 --- a/src/app/FApp_AppManagerImpl.cpp +++ b/src/app/FApp_AppManagerImpl.cpp @@ -360,16 +360,8 @@ _AppManagerImpl::FindAppControlsN(const String* pOperationId, const String* pCat GetErrorMessage(E_INVALID_FORMAT)); } - ArrayList* pRetArg = null; - pRetArg = new (std::nothrow) ArrayList(); - SysTryReturn(NID_APP, pRetArg != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", - GetErrorMessage(E_OUT_OF_MEMORY)); - - pRetArg->Construct(); - _AppControlRegistry* pRegs = _AppControlRegistry::GetInstance(); - - pRetArg = pRegs->FindAppControlListN(pOperationId, pUriScheme, pMimeType, pCategory); + ArrayList* pRetArg = pRegs->FindAppControlListN(pOperationId, pUriScheme, pMimeType, pCategory); if ((pRetArg == null) || (pRetArg->GetCount() == 0)) { @@ -592,8 +584,8 @@ _AppManagerImpl::LaunchApplication(const String& appId, const IList* pArguments, // "The length of appid exceeded the limit(%d).", // WIDGET_APP_MAX_APPID_LENGTH); - AppControl* pAc = _AppControlRegistry::GetInstance()->GetAppControlN(appId, TIZEN_OPERATION_MAIN); - SysTryReturnResult(NID_APP, pAc != null, E_OBJ_NOT_FOUND, "The target application (%ls) is not found.", appId.GetPointer()); + std::unique_ptr pAc(_AppControlRegistry::GetInstance()->GetAppControlN(appId, TIZEN_OPERATION_MAIN)); + SysTryReturnResult(NID_APP, pAc.get() != null, E_OBJ_NOT_FOUND, "The target application (%ls) is not found.", appId.GetPointer()); if (pArguments) { -- 2.7.4