summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/crypto.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c
index d3ef7a2c89..8a9dd86c34 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -792,9 +792,8 @@ int crypto_seed_rng()
static char *filenames[] = {
"/dev/srandom", "/dev/urandom", "/dev/random", NULL
};
- int i;
+ int i, n;
char buf[21];
- char *cp;
FILE *f;
for (i = 0; filenames[i]; ++i) {
@@ -802,9 +801,9 @@ int crypto_seed_rng()
if (!f) continue;
log(LOG_INFO, "Seeding RNG from %s", filenames[i]);
buf[20]='\xff';
- cp = fgets(buf, 20, f);
+ n = fread(buf, 1, 20, f);
fclose(f);
- if (!cp || buf[20]) {
+ if (n != 20) {
log(LOG_INFO, "Error reading from entropy source");
return -1;
}