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: add timeout to generator execution
[elogind.git]
/
src
/
shared
/
ask-password-api.c
diff --git
a/src/shared/ask-password-api.c
b/src/shared/ask-password-api.c
index 4557155d45fc36a11afbbf2b75b373112372a7eb..a328f145e9d7288a1b50c1205a74df42f7b77b89 100644
(file)
--- a/
src/shared/ask-password-api.c
+++ b/
src/shared/ask-password-api.c
@@
-250,7
+250,8
@@
static int create_socket(char **name) {
} sa = {
.un.sun_family = AF_UNIX,
};
} sa = {
.un.sun_family = AF_UNIX,
};
- int one = 1, r;
+ int one = 1;
+ int r = 0;
char *c;
assert(name);
char *c;
assert(name);
@@
-261,7
+262,7
@@
static int create_socket(char **name) {
return -errno;
}
return -errno;
}
- snprintf(sa.un.sun_path, sizeof(sa.un.sun_path)-1, "/run/systemd/ask-password/sck.%
llu", random_ull
());
+ snprintf(sa.un.sun_path, sizeof(sa.un.sun_path)-1, "/run/systemd/ask-password/sck.%
" PRIx64, random_u64
());
RUN_WITH_UMASK(0177) {
r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
RUN_WITH_UMASK(0177) {
r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
@@
-324,10
+325,7
@@
int ask_password_agent(
mkdir_p_label("/run/systemd/ask-password", 0755);
mkdir_p_label("/run/systemd/ask-password", 0755);
- RUN_WITH_UMASK(0022) {
- fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY);
- }
-
+ fd = mkostemp_safe(temp, O_WRONLY|O_CLOEXEC);
if (fd < 0) {
log_error("Failed to create password file: %m");
r = -errno;
if (fd < 0) {
log_error("Failed to create password file: %m");
r = -errno;