summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/uinfo.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/uinfo.cc')
-rw-r--r--winsup/cygwin/uinfo.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc
index bc5f814d0..334c2e988 100644
--- a/winsup/cygwin/uinfo.cc
+++ b/winsup/cygwin/uinfo.cc
@@ -331,8 +331,15 @@ cygheap_user::ontherange (homebodies what, struct passwd *pw)
char *p;
if ((p = getenv ("HOME")))
- debug_printf ("HOME is already in the environment %s", p);
- else
+ {
+ debug_printf ("HOME is already in the environment %s", p);
+ if (p[0] != '/')
+ {
+ p = NULL;
+ debug_printf ("discard HOME, no absolute POSIX path");
+ }
+ }
+ if (!p)
{
if (pw && pw->pw_dir && *pw->pw_dir)
{