Fixed to check condition of decryption file
authorSoyoung Kim <sy037.kim@samsung.com>
Fri, 15 Mar 2013 08:50:39 +0000 (17:50 +0900)
committerSoyoung Kim <sy037.kim@samsung.com>
Fri, 15 Mar 2013 08:50:39 +0000 (17:50 +0900)
[Issue#] N/A
[Problem] occure crash if data field in js during decryption.
[Cause] there is a bug during check whether encryption file or not.
[Solution] fixed logic.
[SCMRequest] N/A

src/view/webkit/bundles/wrt-wk2-bundle.cpp

index de060c9..fde4023 100644 (file)
@@ -882,25 +882,23 @@ std::string Bundle::getScheme(std::string uri)
 
 bool Bundle::isEncryptedResource(std::string Url, int &size)
 {
-    std::string filePath;
-
-    size_t pos = Url.find_first_not_of(SCHEME_FILE);
-    if (std::string::npos != pos) {
-        filePath = Url.substr(pos - 1);
-    }
-
     if (m_encryptedFiles.empty()) {
         WrtDB::WidgetDAOReadOnly(m_widgetTizenId).
             getEncryptedFileList(m_encryptedFiles);
     }
 
-    WrtDB::EncryptedFileInfo info;
     std::set<WrtDB::EncryptedFileInfo>::iterator it;
+    WrtDB::EncryptedFileInfo info;
+    std::string filePath;
+
+    if (0 != strncmp(Url.c_str(), SCHEME_FILE, strlen(SCHEME_FILE))) {
+        return false;
+    }
+
+    filePath = Url.substr(strlen(SCHEME_FILE));
     info.fileName = DPL::FromUTF8String(filePath);
 
-    if ((0 == strncmp(Url.c_str(), SCHEME_FILE, strlen(SCHEME_FILE))) &&
-        (m_encryptedFiles.end() != (it =
-                                        m_encryptedFiles.find(info))))
+    if (m_encryptedFiles.end() != (it = m_encryptedFiles.find(info)))
     {
         LogDebug(" info file name : " << it->fileName);
         LogDebug(" info file size : " << it->fileSize);