Bug 700583 - Null-check our way out of crashes on both mobile and desktop in pr_FindSymbolInLib caused by plugin code where the plugin fails to load correctly, r=josh

This commit is contained in:
Benjamin Smedberg 2012-08-21 14:38:51 -04:00
parent ac923ca26d
commit 25de92431b
2 changed files with 7 additions and 2 deletions

View File

@ -307,6 +307,10 @@ nsresult nsPluginFile::LoadPlugin(PRLibrary **outLibrary)
printf("LoadPlugin() %s returned %lx\n", printf("LoadPlugin() %s returned %lx\n",
libSpec.value.pathname, (unsigned long)pLibrary); libSpec.value.pathname, (unsigned long)pLibrary);
#endif #endif
if (!pLibrary) {
return NS_ERROR_FAILURE;
}
return NS_OK; return NS_OK;
} }

View File

@ -182,8 +182,9 @@ PluginModuleChild::Init(const std::string& aPluginFilename,
if (!mLibrary) if (!mLibrary)
#endif #endif
{ {
DebugOnly<nsresult> rv = pluginFile.LoadPlugin(&mLibrary); nsresult rv = pluginFile.LoadPlugin(&mLibrary);
NS_ASSERTION(NS_OK == rv, "trouble with mPluginFile"); if (NS_FAILED(rv))
return false;
} }
NS_ASSERTION(mLibrary, "couldn't open shared object"); NS_ASSERTION(mLibrary, "couldn't open shared object");