| Index: sandbox/win/tests/common/controller.cc | 
| diff --git a/sandbox/win/tests/common/controller.cc b/sandbox/win/tests/common/controller.cc | 
| index 4f90fb4f051798b80638b6ab512d550c130c5b2b..8d3e29dd9600bf643b55cdc46b01d2fe89a70baa 100644 | 
| --- a/sandbox/win/tests/common/controller.cc | 
| +++ b/sandbox/win/tests/common/controller.cc | 
| @@ -8,6 +8,7 @@ | 
|  | 
| #include "base/memory/shared_memory.h" | 
| #include "base/process/process.h" | 
| +#include "base/process/process_handle.h" | 
| #include "base/strings/string_number_conversions.h" | 
| #include "base/strings/sys_string_conversions.h" | 
| #include "base/win/windows_version.h" | 
| @@ -304,11 +305,12 @@ int DispatchCall(int argc, wchar_t **argv) { | 
| // If the caller shared a shared memory handle with us attempt to open it | 
| // in read only mode and sleep infinitely if we succeed. | 
| if (0 == _wcsicmp(argv[3], L"shared_memory_handle")) { | 
| -    base::SharedMemoryHandle shared_handle = NULL; | 
| -    base::StringToUint( | 
| -        argv[4], reinterpret_cast<unsigned int*>(&shared_handle)); | 
| -    if (shared_handle == NULL) | 
| +    HANDLE raw_handle = nullptr; | 
| +    base::StringToUint(argv[4], reinterpret_cast<unsigned int*>(&raw_handle)); | 
| +    if (raw_handle == nullptr) | 
| return SBOX_TEST_INVALID_PARAMETER; | 
| +    base::SharedMemoryHandle shared_handle(raw_handle, | 
| +                                           base::GetCurrentProcId()); | 
| base::SharedMemory read_only_view(shared_handle, true); | 
| if (!read_only_view.Map(0)) | 
| return SBOX_TEST_INVALID_PARAMETER; | 
|  |