aboutsummaryrefslogtreecommitdiffstats
path: root/src/firejail/dbus.c
diff options
context:
space:
mode:
authorLibravatar smitsohu <smitsohu@gmail.com>2022-01-12 18:25:11 +0100
committerLibravatar smitsohu <smitsohu@gmail.com>2022-01-12 18:25:11 +0100
commit4efbd78c7438aa5b869103ef9fe24f7035b984ba (patch)
treed60fe52b95b7140c13473a0f8dd98a6ef15b0b52 /src/firejail/dbus.c
parentmerges (diff)
downloadfirejail-4efbd78c7438aa5b869103ef9fe24f7035b984ba.tar.gz
firejail-4efbd78c7438aa5b869103ef9fe24f7035b984ba.tar.zst
firejail-4efbd78c7438aa5b869103ef9fe24f7035b984ba.zip
refactor closing of file descriptors
Diffstat (limited to 'src/firejail/dbus.c')
-rw-r--r--src/firejail/dbus.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/firejail/dbus.c b/src/firejail/dbus.c
index e1475870c..12256b833 100644
--- a/src/firejail/dbus.c
+++ b/src/firejail/dbus.c
@@ -297,11 +297,12 @@ void dbus_proxy_start(void) {
297 if (dbus_proxy_pid == -1) 297 if (dbus_proxy_pid == -1)
298 errExit("fork"); 298 errExit("fork");
299 if (dbus_proxy_pid == 0) { 299 if (dbus_proxy_pid == 0) {
300 int i; 300 // close open files
301 for (i = STDERR_FILENO + 1; i < FIREJAIL_MAX_FD; i++) { 301 int keep_list[2];
302 if (i != status_pipe[1] && i != args_pipe[0]) 302 keep_list[0] = status_pipe[1];
303 close(i); // close open files 303 keep_list[1] = args_pipe[0];
304 } 304 close_all(keep_list, ARRAY_SIZE(keep_list));
305
305 if (arg_dbus_log_file != NULL) { 306 if (arg_dbus_log_file != NULL) {
306 int output_fd = creat(arg_dbus_log_file, 0666); 307 int output_fd = creat(arg_dbus_log_file, 0666);
307 if (output_fd < 0) 308 if (output_fd < 0)