Fix prevent defect
[platform/framework/native/installer.git] / src / XmlHandler / PrivilegeHandler.cpp
index b074d56..182f82d 100755 (executable)
@@ -431,17 +431,14 @@ PrivilegeHandler::GetChecksum(AppId appId, byte* pBitwisePrivilege, String& chec
        ByteBuffer input;
        IHash* pHash = null;
        ByteBuffer* pChecksumByteBuffer = null;
-       char* pAppId = null;
 
-       pAppId = (char*) _StringConverter::CopyToCharArrayN(appId);
+       std::unique_ptr<char[]> pAppId(null);
+       pAppId.reset(_StringConverter::CopyToCharArrayN(appId));
        TryCatchTag(OSP_INSTALLER, pAppId != null, r = E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred.");
 
-       memcpy(tempChecksumString, pAppId, MAX_APP_ID_SIZE);
+       memcpy(tempChecksumString, pAppId.get(), MAX_APP_ID_SIZE);
        memcpy(tempChecksumString + MAX_APP_ID_SIZE, pBitwisePrivilege, MAX_BITWISE_PRIV_SIZE);
 
-       delete[] pAppId;
-       pAppId = null;
-
        r = input.Construct(MAX_APP_ID_SIZE + MAX_BITWISE_PRIV_SIZE);
        TryCatchTag(OSP_INSTALLER, r == E_SUCCESS, r = E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred.");