Add ClearLastResult()
authorHyunbin Lee <hyunbin.lee@samsung.com>
Tue, 27 Aug 2013 09:48:07 +0000 (18:48 +0900)
committerHyunbin Lee <hyunbin.lee@samsung.com>
Tue, 27 Aug 2013 09:48:37 +0000 (18:48 +0900)
Change-Id: I6dd074be79442c256f455add206420b28364747e
Signed-off-by: Hyunbin Lee <hyunbin.lee@samsung.com>
src/io/FIo_SecureIoUtil.cpp

index 5443f80..9f831d9 100644 (file)
@@ -1046,18 +1046,14 @@ _SecureIoUtil::GetDataLengh(_NormalFile* pNormalFile, long int* dataLength)
 result
 _SecureIoUtil::CheckSecureFileHeader(const Tizen::Base::String& filePath, const ByteBuffer* pSecretKey)
 {
-       result r = E_SUCCESS;
-       int ret = 0;
-       _NormalFile normalFile;
-       byte secureFileHeader[SECURE_FILE_HEADER_SIZE_V1];
-       byte reservedValue[SECURE_IO_STATIC_BIN_LEN] = {0xCA, 0xFE, 0xBE, 0xBE, 0xDA, 0xEF, 0xEB, 0xEB};
+       byte secureFileHeader[SECURE_FILE_HEADER_SIZE_V1] = { 0, };
+       byte reservedValue[SECURE_IO_STATIC_BIN_LEN] = { 0xCA, 0xFE, 0xBE, 0xBE, 0xDA, 0xEF, 0xEB, 0xEB };
 
-       ClearLastResult();
-
-       r = normalFile.Construct(filePath, "r");
-       SysTryReturn(NID_IO, !IsFailed(r), r, r, "[%s] Failed to call constuct.", GetErrorMessage(r));
+       _NormalFile normalFile;
+       result r = normalFile.Construct(filePath, "r");
+       SysTryReturnResult(NID_IO, !IsFailed(r), r, "Failed to open the file (%ls).", filePath.GetPointer());
 
-       ret = normalFile.Read(secureFileHeader, SECURE_FILE_HEADER_SIZE_V1);
+       int ret = normalFile.Read(secureFileHeader, SECURE_FILE_HEADER_SIZE_V1);
        if (ret < SECURE_FILE_HEADER_SIZE_V1)
        {
                r = GetLastResult();
@@ -1065,23 +1061,24 @@ _SecureIoUtil::CheckSecureFileHeader(const Tizen::Base::String& filePath, const
                {
                        if (ret && pSecretKey)
                        {
-                               return E_INVALID_ARG;
+                               r = E_INVALID_ARG;
                        }
                        else
                        {
-                               return E_SUCCESS;
+                               r = E_SUCCESS;
                        }
                }
-               return r;
+               goto CATCH;
        }
 
-       //check if the file is encrypted file. (in normal and secure mode)
+       // Checks if the file is encrypted file. (in normal or secure mode)
        ret = memcmp(secureFileHeader, SECURE_FILE_HEADER_STRING, SECURE_FILE_HEADER_STRING_SIZE);
        ret |= memcmp(secureFileHeader + SECURE_FILE_HEADER_STRING_SIZE, reservedValue, SECURE_IO_STATIC_BIN_LEN);
-
        SysTryReturnResult(NID_IO, !(ret && pSecretKey), E_INVALID_ARG, "Failed to match secure header in file.");
 
-       return E_SUCCESS;
+CATCH:
+       ClearLastResult();
+       return r;
 }
 
 result