Use fread instead of fgets for binary data

svn:r328
This commit is contained in:
Nick Mathewson 2003-06-17 20:19:41 +00:00
parent 05a8c264ff
commit 769c78a395

View File

@ -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;
}