Index: chrome_elf/blacklist/blacklist.cc |
diff --git a/chrome_elf/blacklist/blacklist.cc b/chrome_elf/blacklist/blacklist.cc |
index f9eb065dd5ae32f2c42f98621cf6d766808feb77..0a52bec7224f014ebd0ae517054f252de2890e21 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>( |
@@ -243,6 +247,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. |
@@ -324,6 +332,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 |