[Package] Synchronously checking access to file 64/168964/3
authorPawel Kaczmarczyk <p.kaczmarczy@samsung.com>
Thu, 1 Feb 2018 11:53:21 +0000 (12:53 +0100)
committerPawel Kaczmarczyk <p.kaczmarczy@samsung.com>
Tue, 24 Apr 2018 08:58:54 +0000 (08:58 +0000)
ACR: http://suprem.sec.samsung.net/jira/browse/TWDAPI-187

Change-Id: I9b16ca1a9d175815f09087ce6801a3ad85343dd8
Signed-off-by: Pawel Kaczmarczyk <p.kaczmarczy@samsung.com>
src/package/package_instance.cc

index d0a11470687deffa97a8558d7502d9d540c59b16..17c2f2a9a4dd06352306450dc1ed6307b160c09c 100644 (file)
@@ -24,6 +24,7 @@
 #include "common/task-queue.h"
 #include "common/tools.h"
 #include "package/package_info_provider.h"
+#include "common/filesystem/filesystem_provider.h"
 
 namespace extension {
 namespace package {
@@ -297,6 +298,10 @@ void PackageInstance::PackageManagerInstall(const picojson::value& args, picojso
   const std::string& packageFileURI =
       convertUriToPath(args.get("packageFileURI").get<std::string>());
 
+  const std::string real_path = common::FilesystemProvider::Create().GetRealPath(packageFileURI);
+
+  CHECK_STORAGE_ACCESS(real_path, &out);
+
   if (!request_) {
     LoggerE("package_manager_request_h is NULL");
     InvokeErrorCallbackAsync(callback_id,