diff options
Diffstat (limited to 'winsup/cygwin/security.cc')
-rw-r--r-- | winsup/cygwin/security.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc index 4d6309073..a5d5fa766 100644 --- a/winsup/cygwin/security.cc +++ b/winsup/cygwin/security.cc @@ -854,10 +854,11 @@ create_token (cygsid &usersid, cygsid &pgrpsid) else { /* Set security descriptor and primary group */ - psa = sec_user (sa_buf, usersid); - if (!SetSecurityDescriptorGroup ( - (PSECURITY_DESCRIPTOR) psa->lpSecurityDescriptor, - special_pgrp?pgrpsid:well_known_null_sid, FALSE)) + psa = __sec_user (sa_buf, usersid, TRUE); + if (psa->lpSecurityDescriptor && + !SetSecurityDescriptorGroup ( + (PSECURITY_DESCRIPTOR) psa->lpSecurityDescriptor, + special_pgrp?pgrpsid:well_known_null_sid, FALSE)) debug_printf ("SetSecurityDescriptorGroup %E"); /* Convert to primary token. */ if (!DuplicateTokenEx (token, MAXIMUM_ALLOWED, psa, |