Remove tmpdir when failed to getting icon info 48/108848/1
authorSangyoon Jang <s89.jang@samsung.com>
Fri, 6 Jan 2017 04:58:19 +0000 (13:58 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Fri, 6 Jan 2017 04:58:19 +0000 (13:58 +0900)
Change-Id: I809ef4c74ef15e2f87361b0020686b327e79519f
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/lib/tpk_archive_info.cc

index c34fab83e9f4201cad076f6420d00d0a5cadd2be..3b5a591fa2170b1fc67c3fb9b34288418711cf27 100644 (file)
@@ -309,10 +309,14 @@ bool TpkArchiveInfo::GetArchiveInfo(const char* file_path,
   std::string icon = GetIconInfo(parser, locale);
   if (!icon.empty()) {
     bf::path icon_path = bf::path(kSharedResDir) / icon;
-    if (!ExtractPackageArchive(file_path, icon_path.string().c_str(), tmp_dir))
+    if (!ExtractPackageArchive(
+        file_path, icon_path.string().c_str(), tmp_dir)) {
+      bf::remove_all(tmp_dir);
       return false;
+    }
     if (!ReadIcon(icon_path, tmp_dir, info)) {
       LOG(WARNING) << "Failed to get icon info";
+      bf::remove_all(tmp_dir);
       return false;
     }
   }