chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kmsg-syslogd: pass facility value into kmsg
[elogind.git]
/
src
/
random-seed.c
diff --git
a/src/random-seed.c
b/src/random-seed.c
index 936ed4791b91548d573330fbe9997be32da21536..054233e66035210b9d10dcfd404004932f4efaeb 100644
(file)
--- a/
src/random-seed.c
+++ b/
src/random-seed.c
@@
-61,6
+61,11
@@
int main(int argc, char *argv[]) {
goto finish;
}
goto finish;
}
+ if (mkdir_parents(RANDOM_SEED, 0755) < 0) {
+ log_error("Failed to create directories parents of %s: %m", RANDOM_SEED);
+ goto finish;
+ }
+
/* When we load the seed we read it and write it to the device
* and then immediately update the saved seed with new data,
* to make sure the next boot gets seeded differently. */
/* When we load the seed we read it and write it to the device
* and then immediately update the saved seed with new data,
* to make sure the next boot gets seeded differently. */
@@
-81,9
+86,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)