Bug 1130747: Add more error checking to PluginAsyncSurrogate::GetPropertyHelper; r=jimm
--- a/dom/plugins/ipc/PluginAsyncSurrogate.cpp
+++ b/dom/plugins/ipc/PluginAsyncSurrogate.cpp
@@ -598,20 +598,25 @@ PluginAsyncSurrogate::GetPropertyHelper(
return false;
}
RecursionGuard guard;
if (guard.IsRecursive()) {
return false;
}
- WaitForInit();
+ if (!WaitForInit()) {
+ return false;
+ }
AsyncNPObject* object = static_cast<AsyncNPObject*>(aObject);
NPObject* realObject = object->GetRealObject();
+ if (!realObject) {
+ return false;
+ }
if (realObject->_class != PluginScriptableObjectParent::GetClass()) {
NS_ERROR("Don't know what kind of object this is!");
return false;
}
PluginScriptableObjectParent* actor =
static_cast<ParentNPObject*>(realObject)->parent;
bool success = actor->GetPropertyHelper(aName, aHasProperty, aHasMethod, aResult);