| Index: chrome_elf/blacklist/blacklist.cc
|
| diff --git a/chrome_elf/blacklist/blacklist.cc b/chrome_elf/blacklist/blacklist.cc
|
| index ea140c4eb532e8966b031a89dc9e6849fefc4925..32d3cb20c632b10a14f15b540bdeceb612d6ea75 100644
|
| --- a/chrome_elf/blacklist/blacklist.cc
|
| +++ b/chrome_elf/blacklist/blacklist.cc
|
| @@ -60,6 +60,10 @@ enum WOW64Status {
|
| WOW64_UNKNOWN,
|
| };
|
|
|
| +// Record if the blacklist was successfully initialized so processes can easily
|
| +// determine if the blacklist is enabled for them.
|
| +bool g_blacklist_initialized = false;
|
| +
|
| WOW64Status GetWOW64StatusForCurrentProcess() {
|
| typedef BOOL (WINAPI* IsWow64ProcessFunc)(HANDLE, PBOOL);
|
| IsWow64ProcessFunc is_wow64_process = reinterpret_cast<IsWow64ProcessFunc>(
|
| @@ -272,6 +276,10 @@ int BlacklistSize() {
|
| return size;
|
| }
|
|
|
| +bool IsBlacklistInitialized() {
|
| + return g_blacklist_initialized;
|
| +}
|
| +
|
| bool AddDllToBlacklist(const wchar_t* dll_name) {
|
| int blacklist_size = BlacklistSize();
|
| // We need to leave one space at the end for the null pointer.
|
| @@ -373,6 +381,9 @@ bool Initialize(bool force) {
|
| }
|
| #endif
|
|
|
| + // Record that we have initialized the blacklist.
|
| + g_blacklist_initialized = true;
|
| +
|
| BYTE* thunk_storage = reinterpret_cast<BYTE*>(&g_thunk_storage);
|
|
|
| // Mark the thunk storage as readable and writeable, since we
|
|
|