summaryrefslogtreecommitdiffstats
path: root/sandbox/src/registry_dispatcher.cc
diff options
context:
space:
mode:
authorcpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-13 02:22:32 +0000
committercpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-13 02:22:32 +0000
commit0d6cf24f8f5fc56e1205591be16445b99328b55b (patch)
tree3c6fcc03389e4a4075b63dd04c72cfdabb8c5ae3 /sandbox/src/registry_dispatcher.cc
parent6afb7ba3aedafb79c1b28bc29c2123b06015596a (diff)
downloadchromium_src-0d6cf24f8f5fc56e1205591be16445b99328b55b.zip
chromium_src-0d6cf24f8f5fc56e1205591be16445b99328b55b.tar.gz
chromium_src-0d6cf24f8f5fc56e1205591be16445b99328b55b.tar.bz2
Re-land second sandbox round of changes
- broke integration tests See http://codereview.chromium.org/757001 BUG=27218 TEST=included No change in the original files. The only changes are in the files: sandbox/src/registry_dispatcher.cc sandbox/src/registry_dispatcher.h sandbox/src/filesystem_dispatcher.cc Because now even in 32 bits the handles map to void pointers Review URL: http://codereview.chromium.org/873006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41523 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox/src/registry_dispatcher.cc')
-rw-r--r--sandbox/src/registry_dispatcher.cc14
1 files changed, 4 insertions, 10 deletions
diff --git a/sandbox/src/registry_dispatcher.cc b/sandbox/src/registry_dispatcher.cc
index 642b8a9..b268157 100644
--- a/sandbox/src/registry_dispatcher.cc
+++ b/sandbox/src/registry_dispatcher.cc
@@ -42,13 +42,13 @@ namespace sandbox {
RegistryDispatcher::RegistryDispatcher(PolicyBase* policy_base)
: policy_base_(policy_base) {
static const IPCCall create_params = {
- {IPC_NTCREATEKEY_TAG, WCHAR_TYPE, ULONG_TYPE, ULONG_TYPE, ULONG_TYPE,
+ {IPC_NTCREATEKEY_TAG, WCHAR_TYPE, ULONG_TYPE, VOIDPTR_TYPE, ULONG_TYPE,
ULONG_TYPE, ULONG_TYPE},
reinterpret_cast<CallbackGeneric>(&RegistryDispatcher::NtCreateKey)
};
static const IPCCall open_params = {
- {IPC_NTOPENKEY_TAG, WCHAR_TYPE, ULONG_TYPE, ULONG_TYPE, ULONG_TYPE},
+ {IPC_NTOPENKEY_TAG, WCHAR_TYPE, ULONG_TYPE, VOIDPTR_TYPE, ULONG_TYPE},
reinterpret_cast<CallbackGeneric>(&RegistryDispatcher::NtOpenKey)
};
@@ -72,14 +72,11 @@ bool RegistryDispatcher::SetupService(InterceptionManager* manager,
}
bool RegistryDispatcher::NtCreateKey(
- IPCInfo* ipc, std::wstring* name, DWORD attributes, DWORD root_directory,
+ IPCInfo* ipc, std::wstring* name, DWORD attributes, HANDLE root,
DWORD desired_access, DWORD title_index, DWORD create_options) {
ScopedHandle root_handle;
std::wstring real_path = *name;
- HANDLE root = reinterpret_cast<HANDLE>(
- static_cast<ULONG_PTR>(root_directory));
-
// If there is a root directory, we need to duplicate the handle to make
// it valid in this process.
if (root) {
@@ -121,14 +118,11 @@ bool RegistryDispatcher::NtCreateKey(
}
bool RegistryDispatcher::NtOpenKey(IPCInfo* ipc, std::wstring* name,
- DWORD attributes, DWORD root_directory,
+ DWORD attributes, HANDLE root,
DWORD desired_access) {
ScopedHandle root_handle;
std::wstring real_path = *name;
- HANDLE root = reinterpret_cast<HANDLE>(
- static_cast<ULONG_PTR>(root_directory));
-
// If there is a root directory, we need to duplicate the handle to make
// it valid in this process.
if (root) {