From b34c30c37f660b6ff18f93863910ae55aa48a552 Mon Sep 17 00:00:00 2001 From: "so.yu" Date: Sun, 7 Apr 2013 17:51:23 +0900 Subject: [PATCH] Fix prevent issues in FSecurity Change-Id: I67bfcf66873afe55f05d33a17b4d3d0d9190ac5b Signed-off-by: so.yu --- src/security/FSec_DeviceKeyGenerator.cpp | 6 ++++-- src/security/pkcs/FSecPkcs_AlgorithmIdentifierImpl.cpp | 9 ++++----- src/security/pkcs/FSecPkcs_Pkcs05PbMacParametersImpl.cpp | 2 +- src/security/pkcs/FSecPkcs_PkcsUtility.cpp | 9 ++++----- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/security/FSec_DeviceKeyGenerator.cpp b/src/security/FSec_DeviceKeyGenerator.cpp index ff218cc..fdee420 100644 --- a/src/security/FSec_DeviceKeyGenerator.cpp +++ b/src/security/FSec_DeviceKeyGenerator.cpp @@ -86,7 +86,8 @@ _DeviceKeyGenerator::GenerateDeviceKeyN(int keySize) pDeviceInfo = _StringConverter::CopyToCharArrayN(deviceInfo); deviceInfoBuffer.Construct(deviceInfo.GetLength()); - deviceInfoBuffer.SetArray(reinterpret_cast (pDeviceInfo), 0, deviceInfo.GetLength()); + r = deviceInfoBuffer.SetArray(reinterpret_cast (pDeviceInfo), 0, deviceInfo.GetLength()); + SysTryCatch(NID_SEC, r == E_SUCCESS, , r, "[%s] A system error has occurred.", GetErrorMessage(r)); deviceInfoBuffer.Flip(); delete[] pDeviceInfo; @@ -168,7 +169,8 @@ _DeviceKeyGenerator::GenerateDeviceKeyN(String& appId, int keySize) pDeviceInfo = _StringConverter::CopyToCharArrayN(deviceInfo); deviceInfoBuffer.Construct(deviceInfo.GetLength()); - deviceInfoBuffer.SetArray(reinterpret_cast (pDeviceInfo), 0, deviceInfo.GetLength()); + r = deviceInfoBuffer.SetArray(reinterpret_cast (pDeviceInfo), 0, deviceInfo.GetLength()); + SysTryCatch(NID_SEC, r == E_SUCCESS, , r, "[%s] A system error has occurred.", GetErrorMessage(r)); deviceInfoBuffer.Flip(); delete[] pDeviceInfo; diff --git a/src/security/pkcs/FSecPkcs_AlgorithmIdentifierImpl.cpp b/src/security/pkcs/FSecPkcs_AlgorithmIdentifierImpl.cpp index a842949..ca8a720 100644 --- a/src/security/pkcs/FSecPkcs_AlgorithmIdentifierImpl.cpp +++ b/src/security/pkcs/FSecPkcs_AlgorithmIdentifierImpl.cpp @@ -293,13 +293,12 @@ _AlgorithmIdentifierImpl::Equals(const Object& obj) const std::unique_ptr< Pkcs05PbEs2Parameters > pEncObj(dynamic_cast< Pkcs05PbEs2Parameters* >(pOther->GetParametersN())); SysTryReturn(NID_SEC_CRYPTO, pEncObj, false, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient."); - SysTryReturn(NID_SEC_CRYPTO, __pAlgoParams != null, false, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - - SysTryReturn(NID_SEC_CRYPTO, dynamic_cast< Pkcs05PbEs2Parameters* >(__pAlgoParams) != null, false, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); + Pkcs05PbEs2Parameters* pPkcs05PbEs2Params = dynamic_cast< Pkcs05PbEs2Parameters* >(__pAlgoParams); + SysTryReturn(NID_SEC_CRYPTO, pPkcs05PbEs2Params != null, false, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - if (pEncObj->GetKeyDerivationAlgorithm().Equals(((dynamic_cast< Pkcs05PbEs2Parameters* >(__pAlgoParams))->GetKeyDerivationAlgorithm()))) + if (pEncObj->GetKeyDerivationAlgorithm().Equals(pPkcs05PbEs2Params->GetKeyDerivationAlgorithm())) { - if (pEncObj->GetEncryptionScheme().Equals(((dynamic_cast< Pkcs05PbEs2Parameters* >(__pAlgoParams))->GetEncryptionScheme()))) + if (pEncObj->GetEncryptionScheme().Equals(pPkcs05PbEs2Params->GetEncryptionScheme())) { return true; diff --git a/src/security/pkcs/FSecPkcs_Pkcs05PbMacParametersImpl.cpp b/src/security/pkcs/FSecPkcs_Pkcs05PbMacParametersImpl.cpp index 04f60e1..b7b6166 100644 --- a/src/security/pkcs/FSecPkcs_Pkcs05PbMacParametersImpl.cpp +++ b/src/security/pkcs/FSecPkcs_Pkcs05PbMacParametersImpl.cpp @@ -121,7 +121,7 @@ _Pkcs05PbMacParametersImpl::Construct(const Tizen::Base::ByteBuffer& encodedData r = GetLastResult(); SysTryCatch(NID_SEC_CRYPTO, r != E_UNSUPPORTED_ALGORITHM, r = E_UNSUPPORTED_ALGORITHM, E_UNSUPPORTED_ALGORITHM, "[E_UNSUPPORTED_ALGORITHM] The input algorithm is not supported."); - __messageAuthScheme.Construct(macOid, null); + r = __messageAuthScheme.Construct(macOid, null); SysTryCatch(NID_SEC_CRYPTO, !IsFailed(r), r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient."); CATCH: diff --git a/src/security/pkcs/FSecPkcs_PkcsUtility.cpp b/src/security/pkcs/FSecPkcs_PkcsUtility.cpp index f2ee5f6..40a3ac5 100644 --- a/src/security/pkcs/FSecPkcs_PkcsUtility.cpp +++ b/src/security/pkcs/FSecPkcs_PkcsUtility.cpp @@ -1310,14 +1310,13 @@ _PkcsUtility::GenerateAlgorithmIdentifierStructureN(Tizen::Base::String algoOid, case _OID_TYPE_RC2_CBC: { - SysTryCatch(NID_SEC_CRYPTO, pAlgoParam != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - - SysTryCatch(NID_SEC_CRYPTO, dynamic_cast< Rc2CbcParameters* >(pAlgoParam) != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); + Rc2CbcParameters* pRc2CbcParams = dynamic_cast< Rc2CbcParameters* >(pAlgoParam); + SysTryCatch(NID_SEC_CRYPTO, pRc2CbcParams != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - ivBuffer.Construct(((dynamic_cast< Rc2CbcParameters* >(pAlgoParam))->GetInitialVector())); + ivBuffer.Construct(pRc2CbcParams->GetInitialVector()); SysTryCatch(NID_SEC_CRYPTO, ivBuffer.GetRemaining() > 0, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient."); - version = (dynamic_cast< Rc2CbcParameters* >(pAlgoParam))->GetVersion(); + version = (pRc2CbcParams)->GetVersion(); if (version == 0) { -- 2.7.4