Parcourir la source

random: Check fwrite return value to avoid warnings

Some compilers complain about fwrite calls if the return value is
not checked, so check the value even if it does not really make
much of a difference in this particular case.
Jouni Malinen il y a 14 ans
Parent
commit
2e92310217
1 fichiers modifiés avec 9 ajouts et 2 suppressions
  1. 9 2
      src/crypto/random.c

+ 9 - 2
src/crypto/random.c

@@ -354,6 +354,7 @@ static void random_write_entropy(void)
 	char buf[RANDOM_ENTROPY_SIZE];
 	FILE *f;
 	u8 opr;
+	int fail = 0;
 
 	if (!random_entropy_file)
 		return;
@@ -369,9 +370,15 @@ static void random_write_entropy(void)
 	}
 
 	opr = own_pool_ready > 0xff ? 0xff : own_pool_ready;
-	fwrite(&opr, 1, 1, f);
-	fwrite(buf, RANDOM_ENTROPY_SIZE, 1, f);
+	if (fwrite(&opr, 1, 1, f) != 1 ||
+	    fwrite(buf, RANDOM_ENTROPY_SIZE, 1, f) != 1)
+		fail = 1;
 	fclose(f);
+	if (fail) {
+		wpa_printf(MSG_ERROR, "random: Could not entropy data to %s",
+			   random_entropy_file);
+		return;
+	}
 
 	wpa_printf(MSG_DEBUG, "random: Updated entropy file %s "
 		   "(own_pool_ready=%u)",