diff options
Diffstat (limited to 'src/firejail/fs_etc.c')
-rw-r--r-- | src/firejail/fs_etc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/firejail/fs_etc.c b/src/firejail/fs_etc.c index e860bc173..b86d5eb74 100644 --- a/src/firejail/fs_etc.c +++ b/src/firejail/fs_etc.c | |||
@@ -106,6 +106,8 @@ static void duplicate(char *fname) { | |||
106 | if (asprintf(&f, "/etc/%s", fname) == -1) | 106 | if (asprintf(&f, "/etc/%s", fname) == -1) |
107 | errExit("asprintf"); | 107 | errExit("asprintf"); |
108 | execlp(RUN_CP_COMMAND, RUN_CP_COMMAND, "-a", "--parents", f, RUN_MNT_DIR, NULL); | 108 | execlp(RUN_CP_COMMAND, RUN_CP_COMMAND, "-a", "--parents", f, RUN_MNT_DIR, NULL); |
109 | perror("execlp"); | ||
110 | _exit(1); | ||
109 | } | 111 | } |
110 | // wait for the child to finish | 112 | // wait for the child to finish |
111 | waitpid(child, NULL, 0); | 113 | waitpid(child, NULL, 0); |
@@ -128,8 +130,7 @@ void fs_private_etc_list(void) { | |||
128 | exit(1); | 130 | exit(1); |
129 | } | 131 | } |
130 | 132 | ||
131 | // create /tmp/firejail/mnt/etc directory | 133 | // create /run/firejail/mnt/etc directory |
132 | fs_build_mnt_dir(); | ||
133 | if (mkdir(RUN_ETC_DIR, 0755) == -1) | 134 | if (mkdir(RUN_ETC_DIR, 0755) == -1) |
134 | errExit("mkdir"); | 135 | errExit("mkdir"); |
135 | if (chmod(RUN_ETC_DIR, 0755) == -1) | 136 | if (chmod(RUN_ETC_DIR, 0755) == -1) |
@@ -169,7 +170,7 @@ void fs_private_etc_list(void) { | |||
169 | duplicate(ptr); | 170 | duplicate(ptr); |
170 | free(dlist); | 171 | free(dlist); |
171 | fs_logger_print(); | 172 | fs_logger_print(); |
172 | exit(0); | 173 | _exit(0); |
173 | } | 174 | } |
174 | // wait for the child to finish | 175 | // wait for the child to finish |
175 | waitpid(child, NULL, 0); | 176 | waitpid(child, NULL, 0); |