From: Joohyun Kim Date: Thu, 11 Jul 2013 01:33:20 +0000 (+0900) Subject: Fix memory leak on imei X-Git-Tag: submit/tizen_2.2/20130714.152805~11^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe2f3f9991fdce8c5edd55312a81311e64c769fe;p=framework%2Fosp%2Fappfw.git Fix memory leak on imei Change-Id: Ic390f28955119266fc31da96f19147637097eeaf Signed-off-by: Joohyun Kim --- diff --git a/src/system/FSysSystemInfo.cpp b/src/system/FSysSystemInfo.cpp index d6aa6ff..ee595e2 100644 --- a/src/system/FSysSystemInfo.cpp +++ b/src/system/FSysSystemInfo.cpp @@ -166,16 +166,18 @@ SystemInfo::GetImei(String& imei) r = pIpcClient->SendRequest(pMsg.get()); SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "It is failed to send ipc message. [%s]", GetErrorMessage(r)); - unique_ptr pResult((String*)responseMessage.GetAt(_SYSTEM_RESPONSE_DATA)); - unique_ptr pImei((String*)responseMessage.GetAt(_SYSTEM_RESPONSE_DATA+1)); + String* pResult = (String*)responseMessage.GetAt(_SYSTEM_RESPONSE_DATA); + String* pImei = (String*)responseMessage.GetAt(_SYSTEM_RESPONSE_DATA+1); - SysTryReturnResult(NID_SYS, pResult != null, E_SYSTEM, "It is failed to receive result on IPC response message."); - SysTryReturnResult(NID_SYS, pImei != null, E_SYSTEM, "It is failed to receive IMEI value on IPC response message."); + SysTryCatch(NID_SYS, pResult != null, r = E_SYSTEM, r, "It is failed to receive result on IPC response message."); + SysTryCatch(NID_SYS, pImei != null, r = E_SYSTEM, r, "It is failed to receive IMEI value on IPC response message."); - SysTryReturnResult(NID_SYS, *pResult != _SYSTEM_RESULT_PRIVILEGED, E_PRIVILEGE_DENIED, "It is failed to get privilege."); - SysTryReturnResult(NID_SYS, *pResult == _SYSTEM_RESULT_OK, E_SYSTEM, "It is failed to get IMEI value."); + SysTryCatch(NID_SYS, *pResult != _SYSTEM_RESULT_PRIVILEGED, r = E_PRIVILEGE_DENIED, r, "It is failed to get privilege."); + SysTryCatch(NID_SYS, *pResult == _SYSTEM_RESULT_OK, r = E_SYSTEM, r, "It is failed to get IMEI value."); +CATCH: imei = *pImei; + responseMessage.RemoveAll(true); return r; }