Reference source of WindowsIdentity is using `MAXIMUM_ALLOWED`
as desired level by default when getting current token.
Changing to same behaviour to enable duplicate and impersonation
to be made on the token retrieved by GetCurrentToken.
*/
/* thread may be impersonating somebody */
- if (OpenThreadToken (GetCurrentThread (), TOKEN_QUERY, 1, &token) == 0) {
+ if (OpenThreadToken (GetCurrentThread (), MAXIMUM_ALLOWED, 1, &token) == 0) {
/* if not take the process identity */
- OpenProcessToken (GetCurrentProcess (), TOKEN_QUERY, &token);
+ OpenProcessToken (GetCurrentProcess (), MAXIMUM_ALLOWED, &token);
}
#else
token = GINT_TO_POINTER (geteuid ());