From: so.yu Date: Thu, 27 Jun 2013 00:29:24 +0000 (+0900) Subject: Fix mismatched deleters X-Git-Tag: accepted/tizen/20130912.081851^2~183 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=268fcd801e4846566caaf80aa778588cec026f68;p=platform%2Fframework%2Fnative%2Fappfw.git Fix mismatched deleters Change-Id: I428be4588a1235d5c83943a8c93a0e08381d5896 Signed-off-by: so.yu --- diff --git a/src/security/cert/FSecCert_CertManager.cpp b/src/security/cert/FSecCert_CertManager.cpp index c939fab..6708aab 100644 --- a/src/security/cert/FSecCert_CertManager.cpp +++ b/src/security/cert/FSecCert_CertManager.cpp @@ -195,7 +195,7 @@ _CertManager::AddCertificate(CertChainCtx certCtx, byte* pCert, int certLen) SysTryReturnResult(NID_SEC_CERT, pCert != null, E_INVALID_ARG, "Initial parameters are invalid."); certFormat = _CertManager::GetEncodedCertBuffer(pCert, certLen, &pDerCert, &derCertBufferLength, &encodingType); - std::unique_ptr< byte[] > pDerCertBuffer(pDerCert); + std::unique_ptr< byte, ByteDeleter > pDerCertBuffer(pDerCert); pDerCert = null; SysTryReturnResult(NID_SEC_CERT, certFormat == _CERT_X509, E_INVALID_ARG, "Unsupported certificate format."); diff --git a/src/security/cert/FSecCert_CertService.cpp b/src/security/cert/FSecCert_CertService.cpp index a25f7b3..42a3b57 100644 --- a/src/security/cert/FSecCert_CertService.cpp +++ b/src/security/cert/FSecCert_CertService.cpp @@ -54,6 +54,17 @@ using namespace Tizen::Io; using namespace Tizen::Base; +namespace +{ +struct ByteDeleter +{ + void operator ()(byte* c) + { + free(c); + } +}; +} + namespace Tizen { namespace Security { namespace Cert { @@ -247,7 +258,7 @@ _CertService::OpenCertificate(char* pBuffer, int bufLen, CertificateHandle* pCer SysTryReturnResult(NID_SEC_CERT, bufLen > 0, E_INVALID_ARG, "Invalid input length."); certFormat = _CertManager::GetEncodedCertBuffer(reinterpret_cast< byte* >(pBuffer), bufLen, &pDerCert, &derCertBufferLength, &encodingType); - std::unique_ptr< byte[] > pDerCertBuffer(pDerCert); + std::unique_ptr< byte, ByteDeleter > pDerCertBuffer(pDerCert); pDerCert = null; SysTryReturnResult(NID_SEC_CERT, pDerCertBuffer != null, E_INVALID_ARG, "Invalid certificate buffer.");