summaryrefslogtreecommitdiffstats
path: root/sandbox/src/sandbox_policy_base.cc
diff options
context:
space:
mode:
authorjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-18 20:59:35 +0000
committerjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-18 20:59:35 +0000
commit404fbfc12f85014f70e1de7958aad0d0f67aa214 (patch)
tree4f2fea186cd0ceaa318752629168fe1b36f42aa3 /sandbox/src/sandbox_policy_base.cc
parent0a34b6aaf62824ad6dd176402f7ef175de181a1f (diff)
downloadchromium_src-404fbfc12f85014f70e1de7958aad0d0f67aa214.zip
chromium_src-404fbfc12f85014f70e1de7958aad0d0f67aa214.tar.gz
chromium_src-404fbfc12f85014f70e1de7958aad0d0f67aa214.tar.bz2
Add a sandbox API to allow closing open handles at lockdown.
BUG=58069 BUG=74242 TEST=sbox_integration_tests --gtest_filter=HandleCloserTests.* Review URL: http://codereview.chromium.org/7253054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92887 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox/src/sandbox_policy_base.cc')
-rw-r--r--sandbox/src/sandbox_policy_base.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sandbox/src/sandbox_policy_base.cc b/sandbox/src/sandbox_policy_base.cc
index ec9ffac..8e25b71 100644
--- a/sandbox/src/sandbox_policy_base.cc
+++ b/sandbox/src/sandbox_policy_base.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2006-2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -227,6 +227,9 @@ bool PolicyBase::AddTarget(TargetProcess* target) {
if (!SetupAllInterceptions(target))
return false;
+ if (!SetupHandleCloser(target))
+ return false;
+
// Initialize the sandbox infrastructure for the target.
if (ERROR_SUCCESS != target->Init(this, policy_, kIPCMemSize, kPolMemSize))
return false;
@@ -448,4 +451,8 @@ bool PolicyBase::SetupAllInterceptions(TargetProcess* target) {
return SetupNtdllImports(target);
}
+bool PolicyBase::SetupHandleCloser(TargetProcess* target) {
+ return handle_closer_.InitializeTargetHandles(target);
+}
+
} // namespace sandbox