提交 f0b54fef 编写于 作者: R Richard Levitte

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.
上级 cf2d9e09
......@@ -211,6 +211,12 @@ const char *RAND_file_name(char *buf, size_t size)
{
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 @@ const char *RAND_file_name(char *buf, size_t size)
strcat(buf,RFILE);
ret=buf;
}
else
else
buf[0] = '\0'; /* no file name */
}
return(ret);
......
......@@ -230,6 +230,7 @@ extern "C" {
# define SSLEAY_CONF OPENSSL_CONF
# define NUL_DEV "nul"
# define RFILE ".rnd"
# define DEFAULT_HOME "C:"
#else /* The non-microsoft world world */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册