From a8506a19178de9e822fb94b4f7e954643c9e407f Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 9 Jul 2001 09:05:17 +0000 Subject: [PATCH] * uinfo.cc (internal_getlogin): Add pointer check. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/uinfo.cc | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index ea185c9a0..362a10085 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +Mon Jul 9 10:43:00 2001 Corinna Vinschen + + * uinfo.cc (internal_getlogin): Add pointer check. + Mon Jul 9 10:05:00 2001 Corinna Vinschen * security.cc (alloc_sd): Don't set inheritance attribute for diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc index 32bc260da..6f73fbf1e 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc @@ -82,10 +82,14 @@ internal_getlogin (cygheap_user &user) /* HOMEDRIVE and HOMEPATH are wrong most of the time, too, after changing user context! */ sys_mbstowcs (wuser, user.name (), UNLEN + 1); - strcat (strcpy (buf, "\\\\"), user.logsrv ()); - sys_mbstowcs (wlogsrv, buf, INTERNET_MAX_HOST_NAME_LENGTH + 3); + wlogsrv[0] = '\0'; + if (user.logsrv ()) + { + strcat (strcpy (buf, "\\\\"), user.logsrv ()); + sys_mbstowcs (wlogsrv, buf, INTERNET_MAX_HOST_NAME_LENGTH + 3); + } if (!NetUserGetInfo (NULL, wuser, 3, (LPBYTE *)&ui) - || !NetUserGetInfo (wlogsrv, wuser, 3,(LPBYTE *)&ui)) + || (wlogsrv[0] && !NetUserGetInfo (wlogsrv, wuser, 3,(LPBYTE *)&ui))) { sys_wcstombs (buf, ui->usri3_home_dir, MAX_PATH); if (!buf[0])