Browse 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 13 years ago
parent
commit
2e92310217
1 changed files with 9 additions and 2 deletions
  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)",