diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-02-28 23:32:49 +0100 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2018-05-30 07:59:13 +0200 |
commit | 55d5be46056010efe73e68b1bc3dd68402fcd1f9 (patch) | |
tree | e5ea2b604e454d3a761c93dbae33a49fd1c3dda6 /src/libelogind/sd-bus | |
parent | fd3caa442196f284cba9614f6748dc601f7a6cf2 (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.c | 11 |
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; |