diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2014-12-12 19:54:51 +0200 |
---|---|---|
committer | Martin Pitt <martin.pitt@ubuntu.com> | 2014-12-12 19:54:51 +0200 |
commit | f47781d88ca6bf69d6b1dd0703b2b283482e5c09 (patch) | |
tree | 6a8f1f74e8fba0a2c20d710848d00b0338f6e341 /src/random-seed | |
parent | 5eef597e931b0428bb984dc2bf0736d032a9198c (diff) | |
download | systemd-f47781d88ca6bf69d6b1dd0703b2b283482e5c09.tar.gz |
Imported Upstream version 218
Diffstat (limited to 'src/random-seed')
-rw-r--r-- | src/random-seed/random-seed.c | 27 |
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: |