summaryrefslogtreecommitdiff
path: root/src/libelogind/sd-bus
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-02-28 23:32:49 +0100
committerSven Eden <yamakuzure@gmx.net>2018-05-30 07:59:13 +0200
commit55d5be46056010efe73e68b1bc3dd68402fcd1f9 (patch)
treee5ea2b604e454d3a761c93dbae33a49fd1c3dda6 /src/libelogind/sd-bus
parentfd3caa442196f284cba9614f6748dc601f7a6cf2 (diff)
tree-wide: port various places over to use new rearrange_stdio()
Diffstat (limited to 'src/libelogind/sd-bus')
-rw-r--r--src/libelogind/sd-bus/bus-socket.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/libelogind/sd-bus/bus-socket.c b/src/libelogind/sd-bus/bus-socket.c
index a86d092a6..0e58bc953 100644
--- a/src/libelogind/sd-bus/bus-socket.c
+++ b/src/libelogind/sd-bus/bus-socket.c
@@ -960,14 +960,11 @@ int bus_socket_exec(sd_bus *b) {
if (r == 0) {
/* Child */
- assert_se(dup3(s[1], STDIN_FILENO, 0) == STDIN_FILENO);
- assert_se(dup3(s[1], STDOUT_FILENO, 0) == STDOUT_FILENO);
+ safe_close(s[0]);
- if (!IN_SET(s[1], STDIN_FILENO, STDOUT_FILENO))
- safe_close(s[1]);
+ if (rearrange_stdio(s[1], s[1], STDERR_FILENO) < 0)
+ _exit(EXIT_FAILURE);
- (void) fd_cloexec(STDIN_FILENO, false);
- (void) fd_cloexec(STDOUT_FILENO, false);
(void) fd_nonblock(STDIN_FILENO, false);
(void) fd_nonblock(STDOUT_FILENO, false);
@@ -1223,7 +1220,7 @@ int bus_socket_read_message(sd_bus *bus) {
return -EIO;
}
- f = reallocarray(bus->fds, bus->n_fds + n, sizeof(int));
+ f = realloc(bus->fds, sizeof(int) * (bus->n_fds + n));
if (!f) {
close_many((int*) CMSG_DATA(cmsg), n);
return -ENOMEM;