pseudo-seed for the PRNG before testing DSA
diff --git a/apps/speed.c b/apps/speed.c
index b3130de..f7a8e00 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -1030,6 +1030,11 @@
 
 	RAND_pseudo_bytes(buf,20);
 #ifndef NO_DSA
+	if (RAND_status() != 1)
+		{
+		RAND_seed(rnd_seed, sizeof rnd_seed);
+		rnd_fake = 1;
+		}
 	for (j=0; j<DSA_NUM; j++)
 		{
 		unsigned int kk;
@@ -1089,6 +1094,7 @@
 				dsa_doit[j]=0;
 			}
 		}
+	if (rnd_fake) RAND_cleanup();
 #endif
 
 	fprintf(stdout,"%s\n",SSLeay_version(SSLEAY_VERSION));