author | Steven Michaud <smichaud@pobox.com> |
Wed, 29 Oct 2014 11:33:43 -0500 | |
changeset 212984 | 76386e21d73389a7658115b13f120a8d4eed3851 |
parent 212952 | a542bd0c39e734ca47df7bf608df2eb8a64c8f4e |
child 212985 | be1a1fd58f1125dcbf8ba2a97d1a23ca7b9c5320 |
push id | 27738 |
push user | cbook@mozilla.com |
push date | Thu, 30 Oct 2014 13:46:07 +0000 |
treeherder | mozilla-central@1aa1b23d799e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bsmedberg |
bugs | 1086977 |
milestone | 36.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
|
--- a/dom/plugins/base/nsPluginsDirDarwin.cpp +++ b/dom/plugins/base/nsPluginsDirDarwin.cpp @@ -469,47 +469,51 @@ nsresult nsPluginFile::GetPluginInfo(nsP // First look for data in a bundle plist if (bundle) { ParsePlistPluginInfo(info, bundle); ::CFRelease(bundle); if (info.fVariantCount > 0) return NS_OK; } - // Don't load "fbplugin" (a Facebook plugin) if we're running on OS X 10.10 - // (Yosemite) or later. It crashes on load, in the call to LoadPlugin() - // below. See bug 1086977. + // Don't load "fbplugin" or any plugins whose name starts with "fbplugin_" + // (Facebook plugins) if we're running on OS X 10.10 (Yosemite) or later. + // A "fbplugin" file crashes on load, in the call to LoadPlugin() below. + // See bug 1086977. if (nsCocoaFeatures::OnYosemiteOrLater()) { - if (fileName.EqualsLiteral("fbplugin")) { - NS_WARNING("Preventing load of fbplugin (see bug 1086977)"); + if (fileName.EqualsLiteral("fbplugin") || + StringBeginsWith(fileName, NS_LITERAL_CSTRING("fbplugin_"))) { + nsAutoCString msg; + msg.AppendPrintf("Preventing load of %s (see bug 1086977)", + fileName.get()); + NS_WARNING(msg.get()); return NS_ERROR_FAILURE; } #if defined(MOZ_CRASHREPORTER) // The block above assumes that "fbplugin" is the filename of the plugin - // to be blocked, but be don't yet know for sure if this is true. It might - // also be the name of a file indirectly loaded by the plugin. So for the - // time being we must record extra information in our crash logs. - CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Bug 1086977"), + // to be blocked, or that the filename starts with "fbplugin_". But we + // don't yet know for sure if this is always true. So for the time being + // record extra information in our crash logs. + CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Bug_1086977"), fileName); #endif } // It's possible that our plugin has 2 entry points that'll give us mime type // info. Quicktime does this to get around the need of having admin rights to // change mime info in the resource fork. We need to use this info instead of // the resource. See bug 113464. // Sadly we have to load the library for this to work. rv = LoadPlugin(outLibrary); #if defined(MOZ_CRASHREPORTER) if (nsCocoaFeatures::OnYosemiteOrLater()) { // If we didn't crash in LoadPlugin(), change the previous annotation so we - // don't sow confusion. Unfortunately there's not (yet) any way to get rid - // of the annotation completely. - CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Bug 1086977"), + // don't sow confusion. + CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Bug_1086977"), NS_LITERAL_CSTRING("Didn't crash, please ignore")); } #endif if (NS_FAILED(rv)) return rv; // Try to get data from NP_GetMIMEDescription if (pLibrary) {