diff options
author | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-13 02:22:32 +0000 |
---|---|---|
committer | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-13 02:22:32 +0000 |
commit | 0d6cf24f8f5fc56e1205591be16445b99328b55b (patch) | |
tree | 3c6fcc03389e4a4075b63dd04c72cfdabb8c5ae3 /sandbox/src/registry_dispatcher.cc | |
parent | 6afb7ba3aedafb79c1b28bc29c2123b06015596a (diff) | |
download | chromium_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.cc | 14 |
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) { |