Quellcode durchsuchen

Use fread instead of fgets for binary data

svn:r328
Nick Mathewson vor 21 Jahren
Ursprung
Commit
769c78a395
1 geänderte Dateien mit 3 neuen und 4 gelöschten Zeilen
  1. 3 4
      src/common/crypto.c

+ 3 - 4
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;
     }