From: Piotr Kosko
Date: Thu, 28 May 2015 11:03:04 +0000 (+0200)
Subject: [Archive] Fixed close method in case of closed file
X-Git-Tag: submit/tizen_mobile/20150612.133019^2~2^2~81
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7d2eeda05d770a9a9f670b984ffcf583109560e8;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[Archive] Fixed close method in case of closed file
[Bug] In case of closed archive, method would be called on null priv object.
[Verification] code compiles without errors.
TCT passrate 100%.
Change-Id: I5b02d020c6d6fa3d5dc55fa61c8492da1ab7e8a1
Signed-off-by: Piotr Kosko
---
diff --git a/src/archive/archive_instance.cc b/src/archive/archive_instance.cc
index e0ab1568..712d14b9 100644
--- a/src/archive/archive_instance.cc
+++ b/src/archive/archive_instance.cc
@@ -491,14 +491,14 @@ void ArchiveInstance::Close(const picojson::value& args, picojson::object& out)
ArchiveFilePtr priv;
PlatformResult result = ArchiveManager::getInstance().getPrivData(handle, &priv);
- if (result.error_code() != ErrorCode::NO_ERROR) {
- LoggerD("Close method was called on already closed archive. Just end execution");
- LoggerD("%s", result.message().c_str());
+ if (result.error_code() == ErrorCode::NO_ERROR) {
+ priv->close();
+ ArchiveManager::getInstance().erasePrivData(handle);
+ } else {
+ LoggerD("Close method was called on already closed archive. Just end execution");
+ LoggerD("%s", result.message().c_str());
}
- priv->close();
- ArchiveManager::getInstance().erasePrivData(handle);
-
ReportSuccess(out);
}