Bug 939043 - Downgrade the user32 assertion to a warning message. r=bsmedberg
authorDavid Major <dmajor@mozilla.com>
Fri, 06 Dec 2013 10:21:16 -0500
changeset 174851 c149ae799213aa893269dd04396047ec66e2eb7a
parent 174850 9ff7f259d9bc1f37fd43a3c40b1368ea22b71f61
child 174852 906f5a72000038420ef7a7854569a1e6457dfb6d
push id445
push userffxbld
push dateMon, 10 Mar 2014 22:05:19 +0000
treeherdermozilla-release@dc38b741b04e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbsmedberg
bugs939043
milestone28.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 939043 - Downgrade the user32 assertion to a warning message. r=bsmedberg
browser/app/nsBrowserApp.cpp
--- a/browser/app/nsBrowserApp.cpp
+++ b/browser/app/nsBrowserApp.cpp
@@ -600,22 +600,23 @@ int main(int argc, char* argv[])
   gotCounters = GetProcessIoCounters(GetCurrentProcess(), &ioCounters);
 #endif
 
   nsIFile *xreDirectory;
 
 #ifdef HAS_DLL_BLOCKLIST
   DllBlocklist_Initialize();
 
+#ifdef DEBUG
   // In order to be effective against AppInit DLLs, the blocklist must be
-  // initialized before user32.dll is loaded into the process. If this assert
-  // ever fires, then the fix for bug 932100 has been defeated and the
-  // blocklist will miss AppInit DLLs. You should use a delayload or reorder
-  // the code to prevent user32.dll from loading during early startup.
-  MOZ_ASSERT(!GetModuleHandleA("user32.dll"));
+  // initialized before user32.dll is loaded into the process (bug 932100).
+  if (GetModuleHandleA("user32.dll")) {
+    fprintf(stderr, "DLL blocklist was unable to intercept AppInit DLLs.\n");
+  }
+#endif
 #endif
 
   nsresult rv = InitXPCOMGlue(argv[0], &xreDirectory);
   if (NS_FAILED(rv)) {
     return 255;
   }
 
   XRE_StartupTimelineRecord(mozilla::StartupTimeline::START, start);