Some platforms (most notably Windows) do not have a $HOME by default.
For those, unless the environment variables RANDFILE or HOME are
defined (the default case!), RAND_file_name() will return NULL.
This change adds a default HOME for those platforms.

To add a default HOME for any platform, just define DEFAULT_HOME in
the proper place, wrapped in appropriate #ifdef..#endif, in e_os.h.
diff --git a/crypto/rand/randfile.c b/crypto/rand/randfile.c
index 8623e13..982074c 100644
--- a/crypto/rand/randfile.c
+++ b/crypto/rand/randfile.c
@@ -211,6 +211,12 @@
 		{
 		if (OPENSSL_issetugid() == 0)
 			s=getenv("HOME");
+#ifdef DEFAULT_HOME
+		if (s == NULL)
+			{
+			s = DEFAULT_HOME;
+			}
+#endif
 		if (s != NULL && (strlen(s)+strlen(RFILE)+2 < size))
 			{
 			strcpy(buf,s);
@@ -220,7 +226,7 @@
 			strcat(buf,RFILE);
 			ret=buf;
 			}
-		  else
+		else
 		  	buf[0] = '\0'; /* no file name */
 		}
 	return(ret);
diff --git a/e_os.h b/e_os.h
index 6cef40f..08410f9 100644
--- a/e_os.h
+++ b/e_os.h
@@ -230,6 +230,7 @@
 #  define SSLEAY_CONF	OPENSSL_CONF
 #  define NUL_DEV	"nul"
 #  define RFILE		".rnd"
+#  define DEFAULT_HOME  "C:"
 
 #else /* The non-microsoft world world */