From 50db0deb256a64607e6050f0f5ef5276b050a45b Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 19 Feb 2014 18:29:52 +0000 Subject: [PATCH] * passwd.cc (pg_ent::setent): Initialize cygheap domain info. * sec_auth.cc (get_logon_server): Ditto. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/passwd.cc | 1 + winsup/cygwin/sec_auth.cc | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index bcf327553..71717883e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2014-02-19 Corinna Vinschen + + * passwd.cc (pg_ent::setent): Initialize cygheap domain info. + * sec_auth.cc (get_logon_server): Ditto. + 2014-02-18 Corinna Vinschen * external.cc (cygwin_internal): Handle new CW_SETENT, CW_GETENT and diff --git a/winsup/cygwin/passwd.cc b/winsup/cygwin/passwd.cc index 547e93235..70e4e256b 100644 --- a/winsup/cygwin/passwd.cc +++ b/winsup/cygwin/passwd.cc @@ -296,6 +296,7 @@ pg_ent::clear_cache () void pg_ent::setent (bool _group, int _enums, PCWSTR _enum_tdoms) { + cygheap->dom.init (); endent (_group); if (!_enums && !_enum_tdoms) { diff --git a/winsup/cygwin/sec_auth.cc b/winsup/cygwin/sec_auth.cc index 3325da54f..30bebfedf 100644 --- a/winsup/cygwin/sec_auth.cc +++ b/winsup/cygwin/sec_auth.cc @@ -224,7 +224,9 @@ get_logon_server (PWCHAR domain, WCHAR *server, ULONG flags) PDOMAIN_CONTROLLER_INFOW pci; /* Empty domain is interpreted as local system */ - if (!domain[0] || !wcscasecmp (domain, cygheap->dom.account_flat_name ())) + if (cygheap->dom.init () + && (!domain[0] + || !wcscasecmp (domain, cygheap->dom.account_flat_name ()))) { wcpcpy (wcpcpy (server, L"\\\\"), cygheap->dom.account_flat_name ()); return true;