Properly handle ENOENT error on encrypted device 87/231387/2
authorDariusz Michaluk <d.michaluk@samsung.com>
Tue, 21 Apr 2020 12:22:46 +0000 (14:22 +0200)
committerDariusz Michaluk <d.michaluk@samsung.com>
Tue, 21 Apr 2020 14:37:07 +0000 (16:37 +0200)
Change-Id: Ica5318462304b9f96096f0376885d676e5e087ba

src/client/client-security-manager.cpp

index f258fd50f22bd3cc50576a8a653a57d3cf30f40a..325e13877ee20aedfe13159b68fa8c07d69e1a1c 100644 (file)
@@ -890,7 +890,7 @@ static inline int security_manager_setup_namespace_internal(const MountNS::Privi
     TizenPlatformConfig tpc(geteuid());
     std::string userAppsRWDir = tpc.ctxGetEnv(TZ_USER_APP);
     std::string userAppsRWSharedDir = userAppsRWDir + "/.shared/";
-    if (access(userAppsRWSharedDir.c_str(), W_OK)) {
+    if (FS::directoryStatus(userAppsRWSharedDir) > 0 && access(userAppsRWSharedDir.c_str(), W_OK) == -1) {
         LogDebug("Mount namespace setup was made by other process of multi-process app zygote");
         return SECURITY_MANAGER_SUCCESS;
     }