diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp index b52553ec9a..40d9b2a976 100644 --- a/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp +++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp @@ -81,9 +81,16 @@ bool PluginPackage::isPluginBlacklisted() if (compareFileVersion(slPluginMinRequired) < 0) return true; - } else if (fileName() == "npmozax.dll") + } else if (fileName() == "npmozax.dll") { // Bug 15217: Mozilla ActiveX control complains about missing xpcom_core.dll return true; + } else if (name() == "Yahoo Application State Plugin") { + // https://bugs.webkit.org/show_bug.cgi?id=26860 + // Bug in Yahoo Application State plug-in earlier than 1.0.0.6 leads to heap corruption. + static const PlatformModuleVersion yahooAppStatePluginMinRequired(0x00000006, 0x00010000); + if (compareFileVersion(yahooAppStatePluginMinRequired) < 0) + return true; + } return false; } @@ -248,7 +255,7 @@ bool PluginPackage::load() return false; // Load the library - m_module = ::LoadLibraryW(m_path.charactersWithNullTermination()); + m_module = ::LoadLibraryExW(m_path.charactersWithNullTermination(), 0, LOAD_WITH_ALTERED_SEARCH_PATH); if (!::SetCurrentDirectoryW(currentPath)) { if (m_module) |