diff options
Diffstat (limited to 'chromium/sandbox/win/src/Wow64.cc')
-rw-r--r-- | chromium/sandbox/win/src/Wow64.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/chromium/sandbox/win/src/Wow64.cc b/chromium/sandbox/win/src/Wow64.cc index 39108e50b36..b11026b1a52 100644 --- a/chromium/sandbox/win/src/Wow64.cc +++ b/chromium/sandbox/win/src/Wow64.cc @@ -142,13 +142,13 @@ bool Wow64::RunWowHelper(void* buffer) { // Get the path to the helper (beside the exe). wchar_t prog_name[MAX_PATH]; GetModuleFileNameW(NULL, prog_name, MAX_PATH); - std::wstring path(prog_name); + base::string16 path(prog_name); size_t name_pos = path.find_last_of(L"\\"); - if (std::wstring::npos == name_pos) + if (base::string16::npos == name_pos) return false; path.resize(name_pos + 1); - std::wstringstream command; + std::basic_stringstream<base::char16> command; command << std::hex << std::showbase << L"\"" << path << L"wow_helper.exe\" " << child_->ProcessId() << " " << bit_cast<ULONG>(buffer); @@ -157,10 +157,11 @@ bool Wow64::RunWowHelper(void* buffer) { STARTUPINFO startup_info = {0}; startup_info.cb = sizeof(startup_info); - base::win::ScopedProcessInformation process_info; + PROCESS_INFORMATION temp_process_info = {}; if (!::CreateProcess(NULL, writable_command.get(), NULL, NULL, FALSE, 0, NULL, - NULL, &startup_info, process_info.Receive())) + NULL, &startup_info, &temp_process_info)) return false; + base::win::ScopedProcessInformation process_info(temp_process_info); DWORD reason = ::WaitForSingleObject(process_info.process_handle(), INFINITE); |