chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
umask: set umask of a number of sockets by default, even though we check creds on...
[elogind.git]
/
src
/
random-seed.c
diff --git
a/src/random-seed.c
b/src/random-seed.c
index 8eab2b4e1ce3d9f99f5a5c7be1bb1812e0d6ab30..ee5cae315c24db36e5a7749a94786275920a8601 100644
(file)
--- a/
src/random-seed.c
+++ b/
src/random-seed.c
@@
-47,6
+47,8
@@
int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
log_parse_environment();
log_open();
+ umask(0022);
+
/* Read pool size, if possible */
if ((f = fopen("/proc/sys/kernel/random/poolsize", "re"))) {
fscanf(f, "%zu", &buf_size);
/* Read pool size, if possible */
if ((f = fopen("/proc/sys/kernel/random/poolsize", "re"))) {
fscanf(f, "%zu", &buf_size);
@@
-86,9
+88,11
@@
int main(int argc, char *argv[]) {
}
}
}
}
- if ((r = loop_read(seed_fd, buf, buf_size, false)) <= 0)
- log_error("Failed to read seed file: %s", r < 0 ? strerror(errno) : "EOF");
- else {
+ if ((r = loop_read(seed_fd, buf, buf_size, false)) <= 0) {
+
+ if (r != 0)
+ log_error("Failed to read seed file: %m");
+ } else {
lseek(seed_fd, 0, SEEK_SET);
if ((r = loop_write(random_fd, buf, (size_t) r, false)) <= 0)
lseek(seed_fd, 0, SEEK_SET);
if ((r = loop_write(random_fd, buf, (size_t) r, false)) <= 0)