diff options
author | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-04 22:44:58 +0000 |
---|---|---|
committer | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-04 22:44:58 +0000 |
commit | 7778436b06ce26a531e52c60a379cfffc0fa60b0 (patch) | |
tree | d4df1ad01b4e3c1b76d8b9e69aa771662f52e1e6 /sandbox | |
parent | 3a83eb13c6277c687dc0931d3d8a79d1e554168b (diff) | |
download | chromium_src-7778436b06ce26a531e52c60a379cfffc0fa60b0.zip chromium_src-7778436b06ce26a531e52c60a379cfffc0fa60b0.tar.gz chromium_src-7778436b06ce26a531e52c60a379cfffc0fa60b0.tar.bz2 |
Make mitigation failures CHECK
This is a temporary change to narrow down failures enabling mitigations on Win8. I'll revert once the cause is determined.
BUG=153399
Review URL: https://codereview.chromium.org/11040046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160252 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox')
-rw-r--r-- | sandbox/win/src/process_mitigations.cc | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/sandbox/win/src/process_mitigations.cc b/sandbox/win/src/process_mitigations.cc index f569479..be4efe5 100644 --- a/sandbox/win/src/process_mitigations.cc +++ b/sandbox/win/src/process_mitigations.cc @@ -4,6 +4,7 @@ #include "sandbox/win/src/process_mitigations.h" +#include "base/logging.h" #include "base/win/windows_version.h" #include "sandbox/win/src/nt_internals.h" #include "sandbox/win/src/sandbox_utils.h" @@ -45,9 +46,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { // Check for SetDefaultDllDirectories since it requires KB2533623. if (set_default_dll_directories) { - if (!set_default_dll_directories(LOAD_LIBRARY_SEARCH_DEFAULT_DIRS) && - ERROR_ACCESS_DENIED != ::GetLastError()) { - return false; + if (!set_default_dll_directories(LOAD_LIBRARY_SEARCH_DEFAULT_DIRS)) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } } @@ -56,9 +56,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { if (version >= base::win::VERSION_VISTA && (flags & MITIGATION_HEAP_TERMINATE)) { if (!::HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, - NULL, 0) && - ERROR_ACCESS_DENIED != ::GetLastError()) { - return false; + NULL, 0)) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } @@ -75,9 +74,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { reinterpret_cast<SetProcessDEPPolicyFunction>( ::GetProcAddress(module, "SetProcessDEPPolicy")); if (set_process_dep_policy) { - if (!set_process_dep_policy(dep_flags) && - ERROR_ACCESS_DENIED != ::GetLastError() && return_on_fail) { - return false; + if (!set_process_dep_policy(dep_flags) && return_on_fail) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } else { // We're on XP sp2, so use the less standard approach. @@ -98,8 +96,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { if (!SUCCEEDED(set_information_process(GetCurrentProcess(), ProcessExecuteFlags, &dep, sizeof(dep))) && - ERROR_ACCESS_DENIED != ::GetLastError() && return_on_fail) { - return false; + return_on_fail) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } } @@ -124,9 +122,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { MITIGATION_RELOCATE_IMAGE_REQUIRED; if (!set_process_mitigation_policy(ProcessASLRPolicy, &policy, - sizeof(policy)) && - ERROR_ACCESS_DENIED != ::GetLastError()) { - return false; + sizeof(policy))) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } @@ -137,9 +134,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { policy.RaiseExceptionOnInvalidHandleReference = true; if (!set_process_mitigation_policy(ProcessStrictHandleCheckPolicy, &policy, - sizeof(policy)) && - ERROR_ACCESS_DENIED != ::GetLastError()) { - return false; + sizeof(policy))) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } @@ -149,9 +145,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { policy.DisallowWin32kSystemCalls = true; if (!set_process_mitigation_policy(ProcessSystemCallDisablePolicy, &policy, - sizeof(policy)) && - ERROR_ACCESS_DENIED != ::GetLastError()) { - return false; + sizeof(policy))) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } @@ -161,9 +156,8 @@ bool ApplyProcessMitigationsToCurrentProcess(MitigationFlags flags) { policy.DisableExtensionPoints = true; if (!set_process_mitigation_policy(ProcessExtensionPointDisablePolicy, - &policy, sizeof(policy)) && - ERROR_ACCESS_DENIED != ::GetLastError()) { - return false; + &policy, sizeof(policy))) { + CHECK_EQ(ERROR_ACCESS_DENIED, static_cast<long>(::GetLastError())); } } |