OSDN Git Service

* uinfo.cc (internal_getlogin): Add pointer check.
authorcorinna <corinna>
Mon, 9 Jul 2001 09:05:17 +0000 (09:05 +0000)
committercorinna <corinna>
Mon, 9 Jul 2001 09:05:17 +0000 (09:05 +0000)
winsup/cygwin/ChangeLog
winsup/cygwin/uinfo.cc

index ea185c9..362a100 100644 (file)
@@ -1,3 +1,7 @@
+Mon Jul  9 10:43:00 2001  Corinna Vinschen <corinna@vinschen.de>
+
+       * uinfo.cc (internal_getlogin): Add pointer check.
+
 Mon Jul  9 10:05:00 2001  Corinna Vinschen <corinna@vinschen.de>
 
        * security.cc (alloc_sd): Don't set inheritance attribute for
index 32bc260..6f73fbf 100644 (file)
@@ -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])