X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmono-security.c;h=865b9ca1e04236ec1a7c7840436fca8c6e02de8a;hb=066372dc08bce3b06873c57b2357114bdda31cd5;hp=b27da358575742b762965b76338ececeb5248327;hpb=58245a39e4f96a8537192b2c9872dbf6e0605686;p=mono.git diff --git a/mono/metadata/mono-security.c b/mono/metadata/mono-security.c index b27da358575..865b9ca1e04 100644 --- a/mono/metadata/mono-security.c +++ b/mono/metadata/mono-security.c @@ -276,9 +276,9 @@ ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (void) */ /* 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 ()); @@ -660,9 +660,10 @@ IsMachineProtected (gunichar2 *path) { 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; @@ -679,8 +680,8 @@ IsMachineProtected (gunichar2 *path) /* 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; }