| 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))
|
|
|