OSDN Git Service

* cygheap.cc (cygheap_user::set_name): Revert previous change.
authorcorinna <corinna>
Thu, 13 Jun 2002 16:30:18 +0000 (16:30 +0000)
committercorinna <corinna>
Thu, 13 Jun 2002 16:30:18 +0000 (16:30 +0000)
* environ.cc (spenv::retrieve): Check return value of call to
cygheap->user.*from_cygheap().

winsup/cygwin/ChangeLog
winsup/cygwin/cygheap.cc
winsup/cygwin/environ.cc

index a395e9a..e74d0df 100644 (file)
@@ -1,5 +1,11 @@
 2002-06-13  Corinna Vinschen  <corinna@vinschen.de>
 
+       * cygheap.cc (cygheap_user::set_name): Revert previous change.
+       * environ.cc (spenv::retrieve): Check return value of call to
+       cygheap->user.*from_cygheap().
+
+2002-06-13  Corinna Vinschen  <corinna@vinschen.de>
+
        * cygheap.cc (cygheap_user::set_name): Remove setting homedrive and
        homepath to NULL.
        (cygheap_user::set_logsrv):  Fix free'ing of plogsrv.
index 3fd2aac..723fde2 100644 (file)
@@ -443,6 +443,8 @@ cygheap_user::set_name (const char *new_name)
   if (pname)
     cfree (pname);
   pname = cstrdup (new_name ? new_name : "");
+  homedrive = NULL;
+  homepath = NULL;
 }
 
 void
index da96b52..4d535e4 100644 (file)
@@ -786,7 +786,8 @@ spenv::retrieve (bool no_envblock, const char *const envname, int len)
 
       /* Make a FOO=BAR entry from the value returned by the cygheap_user
          method. */
-      p = (cygheap->user.*from_cygheap) ();
+      if (!(p = (cygheap->user.*from_cygheap) ()))
+        return NULL;
       int namelen = strlen (name);
       char *s = (char *) cmalloc (HEAP_1_STR, namelen + strlen (p) + 1);
       strcpy (s, name);