| Index: sandbox/win/src/sandbox_utils.cc
|
| ===================================================================
|
| --- sandbox/win/src/sandbox_utils.cc (revision 157629)
|
| +++ sandbox/win/src/sandbox_utils.cc (working copy)
|
| @@ -9,51 +9,9 @@
|
| #include "base/logging.h"
|
| #include "base/win/windows_version.h"
|
| #include "sandbox/win/src/internal_types.h"
|
| -#include "sandbox/win/src/nt_internals.h"
|
|
|
| namespace sandbox {
|
|
|
| -bool GetModuleHandleHelper(DWORD flags, const wchar_t* module_name,
|
| - HMODULE* module) {
|
| - DCHECK(module);
|
| -
|
| - HMODULE kernel32_base = ::GetModuleHandle(kKerneldllName);
|
| - if (!kernel32_base) {
|
| - NOTREACHED();
|
| - return false;
|
| - }
|
| -
|
| - GetModuleHandleExFunction get_module_handle_ex = reinterpret_cast<
|
| - GetModuleHandleExFunction>(::GetProcAddress(kernel32_base,
|
| - "GetModuleHandleExW"));
|
| - if (get_module_handle_ex)
|
| - return (get_module_handle_ex(flags, module_name, module) != FALSE);
|
| -
|
| - if (!flags) {
|
| - *module = ::LoadLibrary(module_name);
|
| - } else if (flags & GET_MODULE_HANDLE_EX_FLAG_PIN) {
|
| - NOTREACHED();
|
| - return false;
|
| - } else if (!(flags & GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)) {
|
| - DCHECK((flags & GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) ==
|
| - GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT);
|
| -
|
| - *module = ::GetModuleHandle(module_name);
|
| - } else {
|
| - DCHECK((flags & (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT |
|
| - GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)) ==
|
| - (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT |
|
| - GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS));
|
| -
|
| - MEMORY_BASIC_INFORMATION info = {0};
|
| - size_t returned = VirtualQuery(module_name, &info, sizeof(info));
|
| - if (sizeof(info) != returned)
|
| - return false;
|
| - *module = reinterpret_cast<HMODULE>(info.AllocationBase);
|
| - }
|
| - return true;
|
| -}
|
| -
|
| bool IsXPSP2OrLater() {
|
| base::win::Version version = base::win::GetVersion();
|
| return (version > base::win::VERSION_XP) ||
|
| @@ -61,8 +19,11 @@
|
| (base::win::OSInfo::GetInstance()->service_pack().major >= 2));
|
| }
|
|
|
| -void InitObjectAttribs(const std::wstring& name, ULONG attributes, HANDLE root,
|
| - OBJECT_ATTRIBUTES* obj_attr, UNICODE_STRING* uni_name) {
|
| +void InitObjectAttribs(const std::wstring& name,
|
| + ULONG attributes,
|
| + HANDLE root,
|
| + OBJECT_ATTRIBUTES* obj_attr,
|
| + UNICODE_STRING* uni_name) {
|
| static RtlInitUnicodeStringFunction RtlInitUnicodeString;
|
| if (!RtlInitUnicodeString) {
|
| HMODULE ntdll = ::GetModuleHandle(kNtdllName);
|
|
|