https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5dc398f1d9ea628809c56b3aedfe282e68b978f3
commit 5dc398f1d9ea628809c56b3aedfe282e68b978f3 Author: Corinna Vinschen <cori...@vinschen.de> Date: Fri Apr 17 11:57:57 2015 +0200 Fix broken SID in passwd/group entry for unkown account * uinfo.cc (pwdgrp::fetch_account_from_windows): Always revert SID subauth count after checking for known domain. Signed-off-by: Corinna Vinschen <cori...@vinschen.de> Diff: --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/uinfo.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e1a61fc..f60dbb9 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,10 @@ 2015-04-17 Corinna Vinschen <cori...@vinschen.de> + * uinfo.cc (pwdgrp::fetch_account_from_windows): Always revert SID + subauth count after checking for known domain. + +2015-04-17 Corinna Vinschen <cori...@vinschen.de> + * pwdgrp.h: Add comment to explain below change. (struct pg_pwd): Convert sid member to BYTE array. (struct pg_grp): Ditto. diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc index 6186327..bc5f814 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc @@ -2475,10 +2475,10 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) posix_offset = fetch_posix_offset (td, &loc_ldap); break; } + sid_sub_auth_count (sid) = sid_sub_auth_count (sid) + 1; } if (domain) { - sid_sub_auth_count (sid) = sid_sub_auth_count (sid) + 1; wcscpy (dom, domain); __small_swprintf (name = namebuf, L"%W(%u)", is_group () ? L"Group" : L"User",