File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed
Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -3289,6 +3289,18 @@ static size_t append_system_bin_dirs(char *path, size_t size)
32893289}
32903290#endif
32913291
3292+ static int is_system32_path (const char * path )
3293+ {
3294+ WCHAR system32 [MAX_LONG_PATH ], wpath [MAX_LONG_PATH ];
3295+
3296+ if (xutftowcs_long_path (wpath , path ) < 0 ||
3297+ !GetSystemDirectoryW (system32 , ARRAY_SIZE (system32 )) ||
3298+ _wcsicmp (system32 , wpath ))
3299+ return 0 ;
3300+
3301+ return 1 ;
3302+ }
3303+
32923304static void setup_windows_environment (void )
32933305{
32943306 char * tmp = getenv ("TMPDIR" );
@@ -3329,7 +3341,8 @@ static void setup_windows_environment(void)
33293341 strbuf_addstr (& buf , tmp );
33303342 if ((tmp = getenv ("HOMEPATH" ))) {
33313343 strbuf_addstr (& buf , tmp );
3332- if (is_directory (buf .buf ))
3344+ if (!is_system32_path (buf .buf ) &&
3345+ is_directory (buf .buf ))
33333346 setenv ("HOME" , buf .buf , 1 );
33343347 else
33353348 tmp = NULL ; /* use $USERPROFILE */
You can’t perform that action at this time.
0 commit comments