@@ -32878,7 +32878,7 @@ int wolfSSL_RAND_seed(const void* seed, int len)
3287832878 */
3287932879const char* wolfSSL_RAND_file_name(char* fname, unsigned long len)
3288032880{
32881- #ifndef NO_FILESYSTEM
32881+ #if !defined( NO_FILESYSTEM) && defined(XGETENV)
3288232882 char* rt;
3288332883
3288432884 WOLFSSL_ENTER("wolfSSL_RAND_file_name");
@@ -32888,7 +32888,7 @@ const char* wolfSSL_RAND_file_name(char* fname, unsigned long len)
3288832888 }
3288932889
3289032890 XMEMSET(fname, 0, len);
32891- /* if access to stdlib.h */
32891+
3289232892 if ((rt = XGETENV("RANDFILE")) != NULL) {
3289332893 if (len > XSTRLEN(rt)) {
3289432894 XMEMCPY(fname, rt, XSTRLEN(rt));
@@ -32901,15 +32901,15 @@ const char* wolfSSL_RAND_file_name(char* fname, unsigned long len)
3290132901
3290232902 /* $RANDFILE was not set or is too large, check $HOME */
3290332903 if (rt == NULL) {
32904- char ap[] = "/.rnd";
32904+ const char ap[] = "/.rnd";
3290532905
3290632906 WOLFSSL_MSG("Environment variable RANDFILE not set");
3290732907 if ((rt = XGETENV("HOME")) == NULL) {
3290832908 WOLFSSL_MSG("Environment variable HOME not set");
3290932909 return NULL;
3291032910 }
3291132911
32912- if (len > XSTRLEN(rt) + XSTRLEN(ap)) {
32912+ if (len > XSTRLEN(rt) + XSTRLEN(ap)) {
3291332913 fname[0] = '\0';
3291432914 XSTRNCAT(fname, rt, len);
3291532915 XSTRNCAT(fname, ap, len - XSTRLEN(rt));
@@ -32923,9 +32923,9 @@ const char* wolfSSL_RAND_file_name(char* fname, unsigned long len)
3292332923
3292432924 return fname;
3292532925#else
32926- /* no filesystem defined */
3292732926 WOLFSSL_ENTER("wolfSSL_RAND_file_name");
32928- WOLFSSL_MSG("No filesystem feature enabled, not compiled in");
32927+ WOLFSSL_MSG("RAND_file_name requires filesystem and getenv support, "
32928+ "not compiled in");
3292932929 (void)fname;
3293032930 (void)len;
3293132931 return NULL;
0 commit comments