Index: rlz/win/lib/process_info.cc |
diff --git a/rlz/win/lib/process_info.cc b/rlz/win/lib/process_info.cc |
index 4b83f384b3198fed3b1c06e36bbe12d824161d85..8fc5565a810c4f34218786a5ab98082e8f6c5738 100644 |
--- a/rlz/win/lib/process_info.cc |
+++ b/rlz/win/lib/process_info.cc |
@@ -9,7 +9,7 @@ |
#include <windows.h> |
#include "base/memory/scoped_ptr.h" |
-#include "base/process/process_handle.h" |
+#include "base/process/process_info.h" |
#include "base/strings/string16.h" |
#include "base/win/scoped_handle.h" |
#include "base/win/win_util.h" |
@@ -100,12 +100,13 @@ bool ProcessInfo::HasAdminRights() { |
has_rights = true; |
} else if (base::win::GetVersion() >= base::win::VERSION_VISTA) { |
TOKEN_ELEVATION_TYPE elevation; |
- base::IntegrityLevel level; |
- |
- if (SUCCEEDED(GetElevationType(&elevation)) && |
- base::GetProcessIntegrityLevel(base::GetCurrentProcessHandle(), &level)) |
- has_rights = (elevation == TokenElevationTypeFull) || |
- (level == base::HIGH_INTEGRITY); |
+ if (SUCCEEDED(GetElevationType(&elevation))) { |
+ base::IntegrityLevel level = base::GetCurrentProcessIntegrityLevel(); |
+ if (level != base::INTEGRITY_UNKNOWN) { |
+ has_rights = (elevation == TokenElevationTypeFull) || |
+ (level == base::HIGH_INTEGRITY); |
+ } |
+ } |
} else { |
long group = 0; |
if (GetUserGroup(&group)) |