Skip to content
Permalink
Browse files
Merge pull request #2725 from native-api/homedir_seclogons
Ignore Vista+ HOMEDRIVE/HOMEPATH default for non-shell logons
  • Loading branch information
dscho committed Oct 2, 2020
2 parents 8209d43 + 064718e commit e782f50
Showing 1 changed file with 14 additions and 1 deletion.
@@ -3289,6 +3289,18 @@ static size_t append_system_bin_dirs(char *path, size_t size)
}
#endif

static int is_system32_path(const char *path)
{
WCHAR system32[MAX_LONG_PATH], wpath[MAX_LONG_PATH];

if (xutftowcs_long_path(wpath, path) < 0 ||
!GetSystemDirectoryW(system32, ARRAY_SIZE(system32)) ||
_wcsicmp(system32, wpath))
return 0;

return 1;
}

static void setup_windows_environment(void)
{
char *tmp = getenv("TMPDIR");
@@ -3329,7 +3341,8 @@ static void setup_windows_environment(void)
strbuf_addstr(&buf, tmp);
if ((tmp = getenv("HOMEPATH"))) {
strbuf_addstr(&buf, tmp);
if (is_directory(buf.buf))
if (!is_system32_path(buf.buf) &&
is_directory(buf.buf))
setenv("HOME", buf.buf, 1);
else
tmp = NULL; /* use $USERPROFILE */

0 comments on commit e782f50

Please sign in to comment.