summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-03-01 21:05:23 +0100
committerCorinna Vinschen <corinna@vinschen.de>2019-03-01 21:08:44 +0100
commitbffd21ad8047601e56d229e619bbcdb76096d975 (patch)
treea6f8b02788d350c0859aaf659bc81902982fabb6
parent7ba9d12a72a722e0f20a80716dbeaf293e66a714 (diff)
downloadcygnal-bffd21ad8047601e56d229e619bbcdb76096d975.tar.gz
cygnal-bffd21ad8047601e56d229e619bbcdb76096d975.tar.bz2
cygnal-bffd21ad8047601e56d229e619bbcdb76096d975.zip
Cygwin: load_user_profile: use local pointer when appropriate
dnsdomain does not have to be a copy of the domain, a pointer into cygheap is sufficient. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/sec_auth.cc7
1 files changed, 3 insertions, 4 deletions
diff --git a/winsup/cygwin/sec_auth.cc b/winsup/cygwin/sec_auth.cc
index 077b37ced..ee740facc 100644
--- a/winsup/cygwin/sec_auth.cc
+++ b/winsup/cygwin/sec_auth.cc
@@ -278,11 +278,11 @@ load_user_profile (HANDLE token, struct passwd *pw, cygpsid &usersid)
else
{
cyg_ldap cldap;
- PWCHAR dnsdomain = NULL;
+ PCWSTR dnsdomain = NULL;
debug_printf ("primary domain <%W>", cygheap->dom.primary_flat_name ());
if (!wcscasecmp (domain, cygheap->dom.primary_flat_name ()))
- dnsdomain = wcsdup (cygheap->dom.primary_dns_name ());
+ dnsdomain = cygheap->dom.primary_dns_name ();
else
{
PDS_DOMAIN_TRUSTSW td = NULL;
@@ -292,7 +292,7 @@ load_user_profile (HANDLE token, struct passwd *pw, cygpsid &usersid)
debug_printf ("foreign domain <%W>", td->NetbiosDomainName);
if (!wcscasecmp (domain, td->NetbiosDomainName))
{
- dnsdomain = wcsdup (td->DnsDomainName);
+ dnsdomain = td->DnsDomainName;
break;
}
}
@@ -309,7 +309,6 @@ load_user_profile (HANDLE token, struct passwd *pw, cygpsid &usersid)
pi.lpProfilePath = userpath;
}
}
- free (dnsdomain);
}
else
debug_printf ("Unknown domain <%W>?", domain);