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); }