chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util: replace close_pipe() with new safe_close_pair()
[elogind.git]
/
src
/
libsystemd
/
sd-bus
/
bus-socket.c
diff --git
a/src/libsystemd/sd-bus/bus-socket.c
b/src/libsystemd/sd-bus/bus-socket.c
index 0c4b6af447297fbe8f1e348f096df36d879f37d9..2e8f008be47d2b6b40dccfef91bb6592ee12d501 100644
(file)
--- a/
src/libsystemd/sd-bus/bus-socket.c
+++ b/
src/libsystemd/sd-bus/bus-socket.c
@@
-227,8
+227,8
@@
static int bus_socket_auth_verify_client(sd_bus *b) {
if (f)
b->can_fds =
if (f)
b->can_fds =
- (f - e == s
izeof("\r\nAGREE_UNIX_FD") - 1
) &&
- memcmp(e + 2, "AGREE_UNIX_FD", s
izeof("AGREE_UNIX_FD") - 1
) == 0;
+ (f - e == s
trlen("\r\nAGREE_UNIX_FD")
) &&
+ memcmp(e + 2, "AGREE_UNIX_FD", s
trlen("AGREE_UNIX_FD")
) == 0;
b->rbuffer_size -= (start - (char*) b->rbuffer);
memmove(b->rbuffer, start, b->rbuffer_size);
b->rbuffer_size -= (start - (char*) b->rbuffer);
memmove(b->rbuffer, start, b->rbuffer_size);
@@
-736,7
+736,7
@@
int bus_socket_exec(sd_bus *b) {
pid = fork();
if (pid < 0) {
pid = fork();
if (pid < 0) {
-
close_pipe
(s);
+
safe_close_pair
(s);
return -errno;
}
if (pid == 0) {
return -errno;
}
if (pid == 0) {
@@
-750,7
+750,7
@@
int bus_socket_exec(sd_bus *b) {
assert_se(dup3(s[1], STDOUT_FILENO, 0) == STDOUT_FILENO);
if (s[1] != STDIN_FILENO && s[1] != STDOUT_FILENO)
assert_se(dup3(s[1], STDOUT_FILENO, 0) == STDOUT_FILENO);
if (s[1] != STDIN_FILENO && s[1] != STDOUT_FILENO)
-
close_nointr_nofail
(s[1]);
+
safe_close
(s[1]);
fd_cloexec(STDIN_FILENO, false);
fd_cloexec(STDOUT_FILENO, false);
fd_cloexec(STDIN_FILENO, false);
fd_cloexec(STDOUT_FILENO, false);
@@
-767,7
+767,7
@@
int bus_socket_exec(sd_bus *b) {
_exit(EXIT_FAILURE);
}
_exit(EXIT_FAILURE);
}
-
close_nointr_nofail
(s[1]);
+
safe_close
(s[1]);
b->output_fd = b->input_fd = s[0];
bus_socket_setup(b);
b->output_fd = b->input_fd = s[0];
bus_socket_setup(b);