https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=166913fb23dd7ac0c63976a2f4e40a9e44ca41ca

commit 166913fb23dd7ac0c63976a2f4e40a9e44ca41ca
Author: Corinna Vinschen <cori...@vinschen.de>
Date:   Fri Mar 1 21:08:09 2019 +0100

    Cygwin: authentication: Always initialize domain info
    
    ...before calling any of its method.  It's no safe bet that
    it's already initialized when calling s4uauth and adding it
    to load_user_profile certainly doesn't hurt.
    
    Signed-off-by: Corinna Vinschen <cori...@vinschen.de>

Diff:
---
 winsup/cygwin/sec_auth.cc | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/winsup/cygwin/sec_auth.cc b/winsup/cygwin/sec_auth.cc
index ee740fa..2f04801 100644
--- a/winsup/cygwin/sec_auth.cc
+++ b/winsup/cygwin/sec_auth.cc
@@ -234,6 +234,10 @@ load_user_profile (HANDLE token, struct passwd *pw, 
cygpsid &usersid)
   WCHAR userpath[MAX_PATH];
   PROFILEINFOW pi;
 
+  /* Initialize */
+  if (!cygheap->dom.init ())
+    return NULL;
+
   extract_nt_dom_user (pw, domain, username);
   usersid.string (sid);
   debug_printf ("user: <%W> <%W> <%W>", username, domain, sid);
@@ -1533,6 +1537,10 @@ s4uauth (bool logon, PCWSTR domain, PCWSTR user, 
NTSTATUS &ret_status)
   QUOTA_LIMITS quota;
   HANDLE token = NULL;
 
+  /* Initialize */
+  if (!cygheap->dom.init ())
+    return NULL;
+
   push_self_privilege (SE_TCB_PRIVILEGE, true);
 
   if (logon)

Reply via email to