Add missing function call 52/215852/1
authorHwankyu Jhun <h.jhun@samsung.com>
Thu, 17 Oct 2019 01:50:14 +0000 (10:50 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Thu, 17 Oct 2019 01:51:08 +0000 (10:51 +0900)
To separate mount namespace, security_manager_prepare_app_candidate()
has to be called.

Change-Id: Ie3a5d7e6f35b82694fd8760b4839e0e9deffec6c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/launchpad_lib.c

index 24532b99e5dc033aab564c445557ef3fd21819ce..644110421e3888c81caabad6d96b9e9186eb2a1b 100644 (file)
@@ -320,6 +320,7 @@ static void __hydra_receiver_cb(int fd)
        char err_str[MAX_LOCAL_BUFSZ] = { 0, };
        enum hydra_cmd cmd = -1;
        int len;
+       int ret;
        pid_t pid;
 
        _D("[hydra] ECORE_FD_READ");
@@ -361,6 +362,14 @@ retry_recv:
        } else {
                __is_candidate = true;
 
+               _W("security_manager_prepare_app_candidate ++");
+               ret = security_manager_prepare_app_candidate();
+               _W("security_manager_prepare_app_candidate --");
+               if (ret != SECURITY_MANAGER_SUCCESS) {
+                       _E("Failed to prepare app candidate process (%d)", ret);
+                       exit(1);
+               }
+
                if (sigaction(SIGCHLD, &__prev_sigchld, NULL)) {
                        _E("[hydra] sigaction failed: %s",
                                strerror_r(errno, err_str, sizeof(err_str)));
@@ -637,6 +646,14 @@ API int launchpad_hydra_main(int argc, char **argv,
                        strerror_r(errno, err_str, sizeof(err_str)));
                return -1;
        } else if (pid == 0) {
+               _W("security_manager_prepare_app_candidate ++");
+               r = security_manager_prepare_app_candidate();
+               _W("security_manager_prepare_app_candidate --");
+               if (r != SECURITY_MANAGER_SUCCESS) {
+                       _E("Failed to prepare app candidate process (%d)", r);
+                       exit(1);
+               }
+
                if (sigaction(SIGCHLD, &__prev_sigchld, NULL)) {
                        _E("[hydra] sigaction failed: %s",
                                strerror_r(errno, err_str, sizeof(err_str)));