Index: sandbox/win/src/policy_target_test.cc |
diff --git a/sandbox/win/src/policy_target_test.cc b/sandbox/win/src/policy_target_test.cc |
index ee28260b084f7cb22e97dd7151880e1923cc883e..1e29df2ab455854463acbf94e0db273f8ce09f37 100644 |
--- a/sandbox/win/src/policy_target_test.cc |
+++ b/sandbox/win/src/policy_target_test.cc |
@@ -150,10 +150,11 @@ SBOX_TESTS_COMMAND int PolicyTargetTest_process(int argc, wchar_t **argv) { |
// Use default values to create a new process. |
STARTUPINFO startup_info = {0}; |
startup_info.cb = sizeof(startup_info); |
- base::win::ScopedProcessInformation process_info; |
+ PROCESS_INFORMATION temp_process_info = {}; |
if (!::CreateProcessW(L"foo.exe", L"foo.exe", NULL, NULL, FALSE, 0, |
- NULL, NULL, &startup_info, process_info.Receive())) |
+ NULL, NULL, &startup_info, &temp_process_info)) |
return SBOX_TEST_SUCCEEDED; |
+ base::win::ScopedProcessInformation process_info(temp_process_info); |
return SBOX_TEST_FAILED; |
} |
@@ -239,11 +240,14 @@ TEST(PolicyTargetTest, DesktopPolicy) { |
TargetPolicy* policy = broker->CreatePolicy(); |
policy->SetAlternateDesktop(false); |
policy->SetTokenLevel(USER_INTERACTIVE, USER_LOCKDOWN); |
+ PROCESS_INFORMATION temp_process_info = {}; |
result = broker->SpawnTarget(prog_name, arguments.c_str(), policy, |
- target.Receive()); |
+ &temp_process_info); |
policy->Release(); |
EXPECT_EQ(SBOX_ALL_OK, result); |
+ if (result == SBOX_ALL_OK) |
+ target.Set(temp_process_info); |
EXPECT_EQ(1, ::ResumeThread(target.thread_handle())); |
@@ -299,11 +303,14 @@ TEST(PolicyTargetTest, WinstaPolicy) { |
TargetPolicy* policy = broker->CreatePolicy(); |
policy->SetAlternateDesktop(true); |
policy->SetTokenLevel(USER_INTERACTIVE, USER_LOCKDOWN); |
+ PROCESS_INFORMATION temp_process_info = {}; |
result = broker->SpawnTarget(prog_name, arguments.c_str(), policy, |
- target.Receive()); |
+ &temp_process_info); |
policy->Release(); |
EXPECT_EQ(SBOX_ALL_OK, result); |
+ if (result == SBOX_ALL_OK) |
+ target.Set(temp_process_info); |
EXPECT_EQ(1, ::ResumeThread(target.thread_handle())); |