*/
/* 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 ());
{
gboolean success = FALSE;
PACL pDACL = NULL;
+ PSECURITY_DESCRIPTOR pSD = NULL;
PSID pEveryoneSid = NULL;
- DWORD dwRes = GetNamedSecurityInfoW (path, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, &pDACL, NULL, NULL);
+ DWORD dwRes = GetNamedSecurityInfoW (path, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, &pDACL, NULL, &pSD);
if (dwRes != ERROR_SUCCESS)
return FALSE;
/* Note: we don't need to check our own access -
we'll know soon enough when reading the file */
- if (pDACL)
- LocalFree (pDACL);
+ if (pSD)
+ LocalFree (pSD);
return success;
}