diff --git a/js/src/xpconnect/src/XPCIDispatchExtension.cpp b/js/src/xpconnect/src/XPCIDispatchExtension.cpp index 5f2c5b37209..4a3920be590 100644 --- a/js/src/xpconnect/src/XPCIDispatchExtension.cpp +++ b/js/src/xpconnect/src/XPCIDispatchExtension.cpp @@ -54,7 +54,7 @@ CommonConstructor(JSContext *cx, int name, JSObject *obj, uintN argc, nsIXPCSecurityManager* sm = ccx.GetXPCContext() ->GetAppropriateSecurityManager(nsIXPCSecurityManager::HOOK_CALL_METHOD); XPCWrappedNative * wrapper = ccx.GetWrapper(); - if(!sm || NS_FAILED(sm->CanAccess(nsIXPCSecurityManager::ACCESS_CALL_METHOD, + if(sm && NS_FAILED(sm->CanAccess(nsIXPCSecurityManager::ACCESS_CALL_METHOD, &ccx, ccx, ccx.GetFlattenedJSObject(), wrapper->GetIdentityObject(), wrapper->GetClassInfo(), diff --git a/js/src/xpconnect/src/nsDispatchSupport.cpp b/js/src/xpconnect/src/nsDispatchSupport.cpp index 31fd51f6a5e..970cda3458f 100644 --- a/js/src/xpconnect/src/nsDispatchSupport.cpp +++ b/js/src/xpconnect/src/nsDispatchSupport.cpp @@ -203,7 +203,7 @@ NS_IMETHODIMP nsDispatchSupport::IsClassSafeToHost(JSContext * cx, nsIXPCSecurityManager* sm = ccx.GetXPCContext()->GetAppropriateSecurityManager( nsIXPCSecurityManager::HOOK_CREATE_INSTANCE); - *aResult = sm && + *aResult = !sm || NS_SUCCEEDED(sm->CanCreateInstance(ccx, cid)); if(!*aResult)