diff options
Diffstat (limited to 'winsup/cygwin/uinfo.cc')
-rw-r--r-- | winsup/cygwin/uinfo.cc | 11 |
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) { |