Chromium Code Reviews| Index: sandbox/win/src/target_services.cc |
| diff --git a/sandbox/win/src/target_services.cc b/sandbox/win/src/target_services.cc |
| index 03813c8feb7bf691bd6ffb051c681b7e5d9099ad..bd33c050e814593c7a91228534aca5a67e9e13be 100644 |
| --- a/sandbox/win/src/target_services.cc |
| +++ b/sandbox/win/src/target_services.cc |
| @@ -74,6 +74,14 @@ ResultCode TargetServicesBase::Init() { |
| // Failure here is a breach of security so the process is terminated. |
| void TargetServicesBase::LowerToken() { |
| +#if defined(ADDRESS_SANITIZER) |
| + // Bind and leak dbghelp.dll before the token is lowered, otherwise |
| + // AddressSanitizer will crash when trying to symbolize a report. |
| + // TODO: find a better place to do this? |
|
Timur Iskhodzhanov
2015/01/30 16:05:30
Please advise where to move this code?
Will Harris
2015/01/30 17:49:17
Warmup is usually done specific for each sandboxed
Timur Iskhodzhanov
2015/02/02 15:38:58
I actually want it to run always (including chrome
|
| + if (!LoadLibraryA("dbghelp.dll")) |
| + // TODO: If this is a good place, define a new SBOX_FATAL exit code. |
| + ::TerminateProcess(::GetCurrentProcess(), 0x1234); |
|
cpu_(ooo_6.6-7.5)
2015/01/30 20:28:24
correct, this happens ahead on each client.
Timur Iskhodzhanov
2015/02/02 15:38:58
Can you please clarify this comment?
Did you mean
|
| +#endif |
| if (ERROR_SUCCESS != |
| SetProcessIntegrityLevel(g_shared_delayed_integrity_level)) |
| ::TerminateProcess(::GetCurrentProcess(), SBOX_FATAL_INTEGRITY); |