diff options
Diffstat (limited to 'sandbox/src')
-rw-r--r-- | sandbox/src/win_utils.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sandbox/src/win_utils.cc b/sandbox/src/win_utils.cc index c20caf9..d42ec51 100644 --- a/sandbox/src/win_utils.cc +++ b/sandbox/src/win_utils.cc @@ -197,12 +197,16 @@ bool GetPathFromHandle(HANDLE handle, std::wstring* path) { }; // namespace sandbox -// TODO(cpu): Revert this change to use a map to speed up the function once -// this has been deployed in the dev channel for a week. See bug 11789. +// TODO(cpu): This is not the final code we want here but we are yet +// to understand what is going on. See bug 11789. void ResolveNTFunctionPtr(const char* name, void* ptr) { static HMODULE ntdll = ::GetModuleHandle(sandbox::kNtdllName); FARPROC* function_ptr = reinterpret_cast<FARPROC*>(ptr); *function_ptr = ::GetProcAddress(ntdll, name); - CHECK(*function_ptr) << "Failed to resolve NTDLL function"; + if (*function_ptr) + return; + // We have data that re-trying helps. + *function_ptr = ::GetProcAddress(ntdll, name); + CHECK(*function_ptr); } |