diff options
author | smitsohu <smitsohu@gmail.com> | 2022-01-12 18:25:11 +0100 |
---|---|---|
committer | smitsohu <smitsohu@gmail.com> | 2022-01-12 18:25:11 +0100 |
commit | 4efbd78c7438aa5b869103ef9fe24f7035b984ba (patch) | |
tree | d60fe52b95b7140c13473a0f8dd98a6ef15b0b52 /src/firejail/dbus.c | |
parent | merges (diff) | |
download | firejail-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.c | 11 |
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) |