Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Side by Side Diff: sandbox/win/src/sandbox_utils.cc

Issue 84063004: Restructure sandbox code to reduce dependencies pulled in by intercept code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Pre-review cleanup. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sandbox/win/src/sandbox_utils.h" 5 #include "sandbox/win/src/sandbox_utils.h"
6 6
7 #include <windows.h>
rvargas (doing something else) 2013/11/27 23:53:51 why?
robertshield 2013/11/29 01:21:26 earlier refactoring cruft. undone.
8
9 #include "base/logging.h" 7 #include "base/logging.h"
10 #include "base/win/windows_version.h" 8 #include "base/win/windows_version.h"
11 #include "sandbox/win/src/internal_types.h" 9 #include "sandbox/win/src/internal_types.h"
12 10
13 namespace sandbox { 11 namespace sandbox {
14 12
15 bool IsXPSP2OrLater() { 13 bool IsXPSP2OrLater() {
16 base::win::Version version = base::win::GetVersion(); 14 base::win::Version version = base::win::GetVersion();
17 return (version > base::win::VERSION_XP) || 15 return (version > base::win::VERSION_XP) ||
18 ((version == base::win::VERSION_XP) && 16 ((version == base::win::VERSION_XP) &&
19 (base::win::OSInfo::GetInstance()->service_pack().major >= 2)); 17 (base::win::OSInfo::GetInstance()->service_pack().major >= 2));
20 } 18 }
21 19
22 void InitObjectAttribs(const std::wstring& name, 20 void InitObjectAttribs(const std::wstring& name,
23 ULONG attributes, 21 ULONG attributes,
24 HANDLE root, 22 HANDLE root,
25 OBJECT_ATTRIBUTES* obj_attr, 23 OBJECT_ATTRIBUTES* obj_attr,
26 UNICODE_STRING* uni_name) { 24 UNICODE_STRING* uni_name) {
27 static RtlInitUnicodeStringFunction RtlInitUnicodeString; 25 static RtlInitUnicodeStringFunction RtlInitUnicodeString;
28 if (!RtlInitUnicodeString) { 26 if (!RtlInitUnicodeString) {
29 HMODULE ntdll = ::GetModuleHandle(kNtdllName); 27 HMODULE ntdll = ::GetModuleHandle(kNtdllName);
30 RtlInitUnicodeString = reinterpret_cast<RtlInitUnicodeStringFunction>( 28 RtlInitUnicodeString = reinterpret_cast<RtlInitUnicodeStringFunction>(
31 GetProcAddress(ntdll, "RtlInitUnicodeString")); 29 GetProcAddress(ntdll, "RtlInitUnicodeString"));
32 DCHECK(RtlInitUnicodeString); 30 DCHECK(RtlInitUnicodeString);
33 } 31 }
34 RtlInitUnicodeString(uni_name, name.c_str()); 32 RtlInitUnicodeString(uni_name, name.c_str());
35 InitializeObjectAttributes(obj_attr, uni_name, attributes, root, NULL); 33 InitializeObjectAttributes(obj_attr, uni_name, attributes, root, NULL);
36 } 34 }
37 35
38 }; // namespace sandbox 36 } // namespace sandbox
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698