summaryrefslogtreecommitdiff
path: root/src/random-seed
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2014-12-12 19:54:51 +0200
committerMartin Pitt <martin.pitt@ubuntu.com>2014-12-12 19:54:51 +0200
commitf47781d88ca6bf69d6b1dd0703b2b283482e5c09 (patch)
tree6a8f1f74e8fba0a2c20d710848d00b0338f6e341 /src/random-seed
parent5eef597e931b0428bb984dc2bf0736d032a9198c (diff)
downloadsystemd-f47781d88ca6bf69d6b1dd0703b2b283482e5c09.tar.gz
Imported Upstream version 218
Diffstat (limited to 'src/random-seed')
-rw-r--r--src/random-seed/random-seed.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c
index af79ecf2a9..06c1239601 100644
--- a/src/random-seed/random-seed.c
+++ b/src/random-seed/random-seed.c
@@ -72,7 +72,7 @@ int main(int argc, char *argv[]) {
r = mkdir_parents_label(RANDOM_SEED, 0755);
if (r < 0) {
- log_error("Failed to create directory " RANDOM_SEED_DIR ": %s", strerror(-r));
+ log_error_errno(r, "Failed to create directory " RANDOM_SEED_DIR ": %m");
goto finish;
}
@@ -86,7 +86,7 @@ int main(int argc, char *argv[]) {
if (seed_fd < 0) {
seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY);
if (seed_fd < 0) {
- log_error("Failed to open " RANDOM_SEED ": %m");
+ log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m");
r = -errno;
goto finish;
}
@@ -96,7 +96,7 @@ int main(int argc, char *argv[]) {
if (random_fd < 0) {
random_fd = open("/dev/urandom", O_WRONLY|O_CLOEXEC|O_NOCTTY, 0600);
if (random_fd < 0) {
- log_error("Failed to open /dev/urandom: %m");
+ log_error_errno(errno, "Failed to open /dev/urandom: %m");
r = -errno;
goto finish;
}
@@ -106,33 +106,30 @@ int main(int argc, char *argv[]) {
if (k <= 0) {
if (r != 0)
- log_error("Failed to read seed from " RANDOM_SEED ": %m");
+ log_error_errno(errno, "Failed to read seed from " RANDOM_SEED ": %m");
r = k == 0 ? -EIO : (int) k;
} else {
lseek(seed_fd, 0, SEEK_SET);
- k = loop_write(random_fd, buf, (size_t) k, false);
- if (k <= 0) {
- log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write");
-
- r = k == 0 ? -EIO : (int) k;
- }
+ r = loop_write(random_fd, buf, (size_t) k, false);
+ if (r < 0)
+ log_error_errno(r, "Failed to write seed to /dev/urandom: %m");
}
} else if (streq(argv[1], "save")) {
seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600);
if (seed_fd < 0) {
- log_error("Failed to open " RANDOM_SEED ": %m");
+ log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m");
r = -errno;
goto finish;
}
random_fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC|O_NOCTTY);
if (random_fd < 0) {
- log_error("Failed to open /dev/urandom: %m");
+ log_error_errno(errno, "Failed to open /dev/urandom: %m");
r = -errno;
goto finish;
}
@@ -155,10 +152,8 @@ int main(int argc, char *argv[]) {
r = k == 0 ? -EIO : (int) k;
} else {
r = loop_write(seed_fd, buf, (size_t) k, false);
- if (r <= 0) {
- log_error("Failed to write new random seed file: %s", r < 0 ? strerror(-r) : "short write");
- r = r == 0 ? -EIO : r;
- }
+ if (r < 0)
+ log_error_errno(r, "Failed to write new random seed file: %m");
}
finish: