Bug 1135772 - Return null on failure in nsXPCWrappedJS's QueryInterface. r=smaug

This commit is contained in:
Andrew McCreight 2015-02-25 09:44:10 -08:00
parent 2513c7c957
commit 4a5f95de8c

View File

@ -161,6 +161,7 @@ NS_IMETHODIMP
nsXPCWrappedJS::AggregatedQueryInterface(REFNSIID aIID, void** aInstancePtr)
{
MOZ_ASSERT(IsAggregatedToNative(), "bad AggregatedQueryInterface call");
*aInstancePtr = nullptr;
if (!IsValid())
return NS_ERROR_UNEXPECTED;
@ -182,10 +183,12 @@ NS_IMETHODIMP
nsXPCWrappedJS::QueryInterface(REFNSIID aIID, void** aInstancePtr)
{
if (nullptr == aInstancePtr) {
NS_PRECONDITION(0, "null pointer");
NS_PRECONDITION(false, "null pointer");
return NS_ERROR_NULL_POINTER;
}
*aInstancePtr = nullptr;
if ( aIID.Equals(NS_GET_IID(nsXPCOMCycleCollectionParticipant)) ) {
*aInstancePtr = NS_CYCLE_COLLECTION_PARTICIPANT(nsXPCWrappedJS);
return NS_OK;