Fix prevent issues in FSecurity
authorso.yu <so.yu@samsung.com>
Sun, 7 Apr 2013 08:51:23 +0000 (17:51 +0900)
committerso.yu <so.yu@samsung.com>
Sun, 7 Apr 2013 08:59:05 +0000 (17:59 +0900)
Change-Id: I67bfcf66873afe55f05d33a17b4d3d0d9190ac5b
Signed-off-by: so.yu <so.yu@samsung.com>
src/security/FSec_DeviceKeyGenerator.cpp
src/security/pkcs/FSecPkcs_AlgorithmIdentifierImpl.cpp
src/security/pkcs/FSecPkcs_Pkcs05PbMacParametersImpl.cpp
src/security/pkcs/FSecPkcs_PkcsUtility.cpp

index ff218cc..fdee420 100644 (file)
@@ -86,7 +86,8 @@ _DeviceKeyGenerator::GenerateDeviceKeyN(int keySize)
 
        pDeviceInfo = _StringConverter::CopyToCharArrayN(deviceInfo);
        deviceInfoBuffer.Construct(deviceInfo.GetLength());
-       deviceInfoBuffer.SetArray(reinterpret_cast <byte*>(pDeviceInfo), 0, deviceInfo.GetLength());
+       r = deviceInfoBuffer.SetArray(reinterpret_cast <byte*>(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 <byte*>(pDeviceInfo), 0, deviceInfo.GetLength());
+       r = deviceInfoBuffer.SetArray(reinterpret_cast <byte*>(pDeviceInfo), 0, deviceInfo.GetLength());
+       SysTryCatch(NID_SEC, r == E_SUCCESS, , r, "[%s] A system error has occurred.", GetErrorMessage(r));
        deviceInfoBuffer.Flip();
        delete[] pDeviceInfo;
 
index a842949..ca8a720 100644 (file)
@@ -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;
 
index 04f60e1..b7b6166 100644 (file)
@@ -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:
index f2ee5f6..40a3ac5 100644 (file)
@@ -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)
                {