From 0e6d80e4fa95a35c1a871e4aed5b3153529b8594 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 13 Jun 2002 16:30:18 +0000 Subject: [PATCH] * cygheap.cc (cygheap_user::set_name): Revert previous change. * environ.cc (spenv::retrieve): Check return value of call to cygheap->user.*from_cygheap(). --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/cygheap.cc | 2 ++ winsup/cygwin/environ.cc | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index a395e9aa0..e74d0dfaf 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2002-06-13 Corinna Vinschen + + * 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 * cygheap.cc (cygheap_user::set_name): Remove setting homedrive and diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc index 3fd2aacc9..723fde2ff 100644 --- a/winsup/cygwin/cygheap.cc +++ b/winsup/cygwin/cygheap.cc @@ -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 diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index da96b5245..4d535e436 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -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); -- 2.43.5