chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-bus: make sure %m resolves to the specified error in bus_error_set_errnofv()
[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 016f8a1c9f9d34a605d6093e753fd34fd073fcd3..d02994e283b754c13d1005f669f5294a83df9318 100644
(file)
--- a/
src/libsystemd/sd-bus/bus-socket.c
+++ b/
src/libsystemd/sd-bus/bus-socket.c
@@
-610,10
+610,10
@@
void bus_socket_setup(sd_bus *b) {
/* Enable SO_PASSCRED + SO_PASSEC. We try this on any
* socket, just in case. */
enable = !b->bus_client;
/* Enable SO_PASSCRED + SO_PASSEC. We try this on any
* socket, just in case. */
enable = !b->bus_client;
- setsockopt(b->input_fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable));
+
(void)
setsockopt(b->input_fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable));
enable = !b->bus_client && (b->attach_flags & KDBUS_ATTACH_SECLABEL);
enable = !b->bus_client && (b->attach_flags & KDBUS_ATTACH_SECLABEL);
- setsockopt(b->input_fd, SOL_SOCKET, SO_PASSSEC, &enable, sizeof(enable));
+
(void)
setsockopt(b->input_fd, SOL_SOCKET, SO_PASSSEC, &enable, sizeof(enable));
/* Increase the buffers to 8 MB */
fd_inc_rcvbuf(b->input_fd, SNDBUF_SIZE);
/* Increase the buffers to 8 MB */
fd_inc_rcvbuf(b->input_fd, SNDBUF_SIZE);
@@
-648,7
+648,7
@@
static int bus_socket_start_auth_client(sd_bus *b) {
auth_prefix = "\0AUTH EXTERNAL ";
auth_prefix = "\0AUTH EXTERNAL ";
- snprintf(text, sizeof(text),
"%lu", (unsigned long)
geteuid());
+ snprintf(text, sizeof(text),
UID_FMT,
geteuid());
char_array_0(text);
l = strlen(text);
char_array_0(text);
l = strlen(text);
@@
-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);